Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#如何将字符串转换为用于时间范围的时间格式?_C#_Datetime_Time - Fatal编程技术网

C#如何将字符串转换为用于时间范围的时间格式?

C#如何将字符串转换为用于时间范围的时间格式?,c#,datetime,time,C#,Datetime,Time,我有一个程序,可以使用标记化检索日志文本文件的部分时间 该程序的主要目的是检索时间部分,然后继续将字符串转换为DateTime格式,该格式可以用作时间范围时间轴函数的一部分 但是,在将时间转换为日期时间时,系统将结果输出为 “23/11/2010 9:31:00 PM”,将时间正确转换为12小时格式,但使用了日期功能 因此,问题是如何只转换时间而不输出或处理日期。如何将时间转换为24小时格式的HH:MM:SS 请告知密码。谢谢 class Program { static void Ma

我有一个程序,可以使用标记化检索日志文本文件的部分时间

该程序的主要目的是检索时间部分,然后继续将字符串转换为DateTime格式,该格式可以用作时间范围时间轴函数的一部分

但是,在将时间转换为日期时间时,系统将结果输出为 “23/11/2010 9:31:00 PM”,将时间正确转换为12小时格式,但使用了日期功能

因此,问题是如何只转换时间而不输出或处理日期。如何将时间转换为24小时格式的HH:MM:SS

请告知密码。谢谢

class Program
{
    static void Main(string[] args)
    {

        //System.Collections.Generic.IEnumerable<String> lines = File.ReadLines("C:\\Test\\ntfs2.txt");

        String value = "Thu Mar 02 1995 21:31:00,2245107,m...,r/rrwxrwxrwx,0,0,8349-128-3,C:/Program Files/AccessData/AccessData Forensic Toolkit/Program/wordnet/Adj.dat";

        //foreach (String r in lines)
        //{

        String[] token = value.Split(',');

        String[] datetime = token[0].Split(' ');

        String timeText = datetime[4]; // The String array contans 21:31:00

        DateTime time = Convert.ToDateTime(timeText); // Converts only the time

        Console.WriteLine(time);

    }
}
类程序
{
静态void Main(字符串[]参数)
{
//System.Collections.Generic.IEnumerable lines=File.ReadLines(“C:\\Test\\ntfs2.txt”);
String value=“Thu Mar 02 1995 21:31:002245107,m..,r/RRWXRWX,0,08349-128-3,C:/Program Files/AccessData/AccessData法医工具包/Program/wordnet/Adj.dat”;
//foreach(行中的字符串r)
//{
字符串[]标记=value.Split(',');
字符串[]datetime=token[0]。拆分(“”);
String timeText=datetime[4];//字符串数组包含21:31:00
DateTime=Convert.ToDateTime(timeText);//只转换时间
控制台写入线(时间);
}
}
编辑我看到你说不要处理日期,这在技术上是处理日期的-但这比根据空间分割并逐段重建时间要干净得多。

/System.Collections.Generic.IEnumerable lines=File.ReadLines(“C:\\Test\\ntfs2.txt”);
    //System.Collections.Generic.IEnumerable<String> lines = File.ReadLines("C:\\Test\\ntfs2.txt");
    String value = "Thu Mar 02 1995 21:31:00,2245107,m...,r/rrwxrwxrwx,0,0,8349-128-3,C:/Program Files/AccessData/AccessData Forensic Toolkit/Program/wordnet/Adj.dat";

    String[] token = value.Split(',');

    String[] datetime = token[0].Split(' ');

    String timeText = datetime[4]; // The String array contans 21:31:00

    DateTime time = Convert.ToDateTime(timeText); // Converts only the time

    Console.WriteLine(time.ToString("HH:mm:ss"));
String value=“Thu Mar 02 1995 21:31:002245107,m..,r/RRWXRWX,0,08349-128-3,C:/Program Files/AccessData/AccessData法医工具包/Program/wordnet/Adj.dat”; 字符串[]标记=value.Split(','); 字符串[]datetime=token[0]。拆分(“”); String timeText=datetime[4];//字符串数组包含21:31:00 DateTime=Convert.ToDateTime(timeText);//只转换时间 控制台写入线(time.ToString(“HH:mm:ss”);
您可以使用DateTime.ToString(“模式”)将DateTime转换为任何所需的格式


这里有一个可用的模式列表

只需使用此代码将日期时间(如下午5:12)转换为1712

public string ConvDate_as_str(string dateFormat)
    {
        try
        {
            char[] ch = dateFormat.ToCharArray();
            string[] sps = dateFormat.Split(' ');
            string[] spd = sps[0].Split('.');
            dateFormat = spd[0] + ":" + spd[1];

            if ((sps[1].ToUpper() != "PM") && (sps[1].ToUpper() != "AM"))
            {
                return "Enter Correct Format like <5.12 pm>";
            }

            DateTime dt = new DateTime();
            dt = Convert.ToDateTime(dateFormat);
            string date = "";
            if (sps[1].ToUpper() == "PM")
            {
                date = (dt.Hour + 12).ToString("00");
            }
            else
                date = dt.Hour.ToString("00");
            return date + dt.Minute.ToString("00");
        }
        catch (Exception ex)
        {
            return "Enter Correct Format like <5.12 pm>";
        }

    }
公共字符串ConvDate\u as\u str(字符串日期格式)
{
尝试
{
char[]ch=dateFormat.ToCharArray();
字符串[]sps=dateFormat.Split(“”);
字符串[]spd=sps[0]。拆分('.');
dateFormat=spd[0]+“:”+spd[1];
如果((sps[1].ToUpper()!=“PM”)和&(sps[1].ToUpper()!=“AM”))
{
返回“输入正确格式如”;
}
DateTime dt=新的DateTime();
dt=Convert.ToDateTime(日期格式);
字符串日期=”;
如果(sps[1].ToUpper()=“PM”)
{
日期=(dt.Hour+12).ToString(“00”);
}
其他的
日期=dt.Hour.ToString(“00”);
返回日期+dt.Minute.ToString(“00”);
}
捕获(例外情况除外)
{
返回“输入正确格式如”;
}
}

只需使用此代码将字符串转换为时间即可

try
{
    string hour = stringFormat.Substring(0, 2);
    string min = stringFormat.Substring(2, 2);
    DateTime dt = new DateTime();
    dt = Convert.ToDateTime(hour+":"+min);
    return String.Format("{0:t}", dt); ;
}
catch (Exception ex)
{
    return "Please Enter Correct format like <0559>";
}
试试看
{
stringhour=stringFormat.Substring(0,2);
string min=stringFormat.Substring(2,2);
DateTime dt=新的DateTime();
dt=转换到当前时间(小时+“:”+分钟);
返回字符串.Format(“{0:t}”,dt);
}
捕获(例外情况除外)
{
返回“请输入正确格式,如”;
}

为什么我的代码这么难:

  private void timer7_Tick(object sender, EventArgs e)
        {
            label4.Text = DateTime.Now.TimeOfDay.Hours.ToString() + ":" + DateTime.Now.TimeOfDay.Minutes.ToString() + ":" + DateTime.Now.TimeOfDay.Seconds.ToString() + ":" + DateTime.Now.TimeOfDay.TotalMilliseconds.ToString();
            label7.Text = DateTime.Now.Date.Year.ToString() + "-" + DateTime.Now.Date.Month.ToString() + "-" + DateTime.Now.Date.Day.ToString();
        }

DateTime dt=New DateTime(date);错误:与…匹配的最佳重载方法有一些无效参数。DateTime.TryParse可能有助于我的错误-DateTime.TryParse(..),或者如果您不想错误检查DateTime.Parse(),time.ToString是否可以转换为另一个DateTime变量让我们假设time2=time.ToString(“HH:mm:ss”)?time.ToString(“HH:mm:ss”)将返回一个字符串。因此左值应为string类型,不能分配给DateTime。更多的解释可能有助于其他程序员理解代码中的情况。
try
{
    string hour = stringFormat.Substring(0, 2);
    string min = stringFormat.Substring(2, 2);
    DateTime dt = new DateTime();
    dt = Convert.ToDateTime(hour+":"+min);
    return String.Format("{0:t}", dt); ;
}
catch (Exception ex)
{
    return "Please Enter Correct format like <0559>";
}
  private void timer7_Tick(object sender, EventArgs e)
        {
            label4.Text = DateTime.Now.TimeOfDay.Hours.ToString() + ":" + DateTime.Now.TimeOfDay.Minutes.ToString() + ":" + DateTime.Now.TimeOfDay.Seconds.ToString() + ":" + DateTime.Now.TimeOfDay.TotalMilliseconds.ToString();
            label7.Text = DateTime.Now.Date.Year.ToString() + "-" + DateTime.Now.Date.Month.ToString() + "-" + DateTime.Now.Date.Day.ToString();
        }