我一直在阅读如何使用DateTime.ParseExact,但是我似乎无法弄清楚如何解析它:
2018年12月16日世界标准时间(UTC)
这是我目前正在做的事情:
DateTime.ParseExact(launch.windowstart,
"MMMM dd, yyyy H:mm:ss \\G\\M\\Tzzz",
System.Globalization.CultureInfo.InvariantCulture)
答案 0 :(得分:1)
看起来您只需要稍微修改一下格式字符串即可。我不确定结尾是什么意思,但是正如Broots在评论中提到的那样,您需要准确设置格式。看来您只需要修改小时和时区捕获(在本例中为UTC):
DateTime.ParseExact(launch.windowstart,
"MMMM dd, yyyy HH:mm:ss UTC",
System.Globalization.CultureInfo.InvariantCulture);
这应该返回我认为您正在寻找的DateTime
对象。
答案 1 :(得分:0)
我不得不编写一个解析器,但这是它的代码。
public static DateTime LLTimeToDateTime(string launchLibraryTime)
{
string[] segTime = launchLibraryTime.Split(' ');
int monthLength = segTime[0].Length;
int dayLength = segTime[1].Length - 1;
string dateTimeFormatter = "";
for (int i = 0; i < monthLength; i++)
{
dateTimeFormatter += "M";
}
dateTimeFormatter += " ";
for (int i = 0; i < dayLength; i++)
{
dateTimeFormatter += "d";
}
dateTimeFormatter += ", yyyy HH:mm:ss";
launchLibraryTime = launchLibraryTime.Substring(0, launchLibraryTime.Length - 4);
return DateTime.ParseExact(launchLibraryTime, dateTimeFormatter,
System.Globalization.CultureInfo.InvariantCulture);
}