我的日期字符串是“ 2018-12-30T18:30:00.000Z”,我无法将其转换为日期时间。
我尝试过
root@d0b0e44f7517:/# mkdir /var/run/sshd
root@d0b0e44f7517:/# chmod 0755 /var/run/sshd
root@d0b0e44f7517:/# /usr/sbin/sshd
root@d0b0e44f7517:/#
root@d0b0e44f7517:/# useradd --create-home --shell /bin/bash --groups sudo u2
root@d0b0e44f7517:/# passwd u2
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
root@d0b0e44f7517:/#
root@d0b0e44f7517:/#
答案 0 :(得分:2)
您的代码现在可以工作的原因是,字符串中的日期为yyyy-MM-ddTHH:mm:ss.fffZ
格式,而您指定给ParseExact
的格式为dd.MM.yyyy HH:mm:ss.fff z
。这样就无法解析日期。
答案 1 :(得分:0)
DateTimeOffset.Parse("2018-12-30T18:30:00.000Z");
似乎可以正常工作。
答案 2 :(得分:0)
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());
尝试一下
答案 3 :(得分:0)
您可以将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] (...)
答案 4 :(得分:0)
这将为您提供所需格式的字符串
(DateTime.Parse(“ 2018-12-30T18:30:00.000Z”))。ToString(“ dd.MM.yyyy HH:mm:ss.fff z”);
答案 5 :(得分:0)