繁体   English   中英

使用格式 'dd.MM.yyyy HH:mm:ss.fff z' 将字符串转换为日期

[英]Convert string to date with format 'dd.MM.yyyy HH:mm:ss.fff z'

我的日期字符串是“2018-12-30T18:30:00.000Z”,我无法将其转换为日期时间。

我试过了

DateTimeOffset.ParseExact(DOCDate, "dd.MM.yyyy HH:mm:ss.fff z", CultureInfo.InvariantCulture);

您的代码现在可以工作的原因是字符串中的日期采用yyyy-MM-ddTHH:mm:ss.fffZ格式,而您指定给ParseExact的格式为dd.MM.yyyy HH:mm:ss.fff z 这样就无法解析日期。

DateTimeOffset.Parse("2018-12-30T18:30:00.000Z"); 似乎工作正常。

  string s="2018-12-30T18:30:00.000Z";
   DateTime da=     DateTime.ParseExact(s, "yyyy-MM-ddTHH:mm:ss.fffZ", CultureInfo.InvariantCulture);
   Response.Write(da.ToString());

尝试这个

您可以使用DateTime.TryParseDateTimeStyles.AdjustToUniversal以获得完全相同的时间,或使用DateTimeStyles.AssumeUniversal来调整到本地时间:

 bool result = DateTime.TryParse("2018-12-30T18:30:00.000Z", CultureInfo.CurrentCulture, 
                                 DateTimeStyles.AdjustToUniversal, out DateTime dt);

=> 12/30/2018 18:30:00 or 30/12/2018 18:30:00 (...)

 bool result = DateTime.TryParse("2018-12-30T18:30:00.000Z", CultureInfo.CurrentCulture, 
                                 DateTimeStyles.AssumeUniversal, out DateTime dt);

=> 30/12/2018 [Adjusted to your Local time] (...)

这将为您提供所需格式的字符串

(DateTime.Parse("2018-12-30T18:30:00.000Z")).ToString("dd.MM.yyyy HH:mm:ss.fff z");

string dateString="2018-12-30T18:30:00.000z";
Console.WriteLine(DateTimeOffset.Parse(dateString));

请参阅下图中的输出它正在工作在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM