我有一个程序能够使用标记化检索日志文本文件时间的部分/部分。
该程序的主要目的是检索时间部分,然后继续将字符串转换为 DateTime 格式,然后可以将其用作时间范围时间轴函数的一部分。
但是在将时间转换为DateTime时,系统将结果输出到 “23/11/2010 9:31:00 PM”正确地将时间转换为 12 小时格式,但使用了日期函数。
因此问题是如何只转换时间而不输出或处理日期。以及如何将时间转换为 HH:MM:SS 的 24 小时格式?
请指教代码。谢谢!
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);
}
}
最佳答案
//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"));
您可以使用 DateTime.ToString("pattern") 将 DateTime 转换为任何所需的格式。
这里有可用的模式列表 http://www.geekzilla.co.uk/View00FF7904-B510-468C-A2C8-F859AA20581F.htm
关于C# 如何将字符串转换为用于时间范围的时间格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4253270/