[英]Convert string to date with format 'dd.MM.yyyy HH:mm:ss.fff z'
My string of date is '2018-12-30T18:30:00.000Z' and i am unable to convert it to datetime.我的日期字符串是“2018-12-30T18:30:00.000Z”,我无法将其转换为日期时间。
I have tried我试过了
DateTimeOffset.ParseExact(DOCDate, "dd.MM.yyyy HH:mm:ss.fff z", CultureInfo.InvariantCulture);
The reason your code does now work, is that the date in your string is in yyyy-MM-ddTHH:mm:ss.fffZ
format, and the format you specify to ParseExact
is dd.MM.yyyy HH:mm:ss.fff z
.您的代码现在可以工作的原因是字符串中的日期采用
yyyy-MM-ddTHH:mm:ss.fffZ
格式,而您指定给ParseExact
的格式为dd.MM.yyyy HH:mm:ss.fff z
。 That way the date could not be parsed.这样就无法解析日期。
DateTimeOffset.Parse("2018-12-30T18:30:00.000Z");
seems to work OK.似乎工作正常。
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());
Try this尝试这个
You can use DateTime.TryParse with DateTimeStyles.AdjustToUniversal to have the exact same time, or DateTimeStyles.AssumeUniversal
to adjust to the Local Time:您可以使用DateTime.TryParse和DateTimeStyles.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] (...)
This would give you a string in desired format这将为您提供所需格式的字符串
(DateTime.Parse("2018-12-30T18:30:00.000Z" )).ToString("dd.MM.yyyy HH:mm:ss.fff z"); (DateTime.Parse("2018-12-30T18:30:00.000Z")).ToString("dd.MM.yyyy HH:mm:ss.fff z");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.