我有一个日期时间格式字符串,如下所示:
开始日期:
2018/06/30 23:00
和结束日期:
2018/07/01 19:32
现在我想把这个字符串转换成这样的格式:
2017-02-11T19:58:18.918Z
开始日期和结束日期都应采用此日期字符串格式
我尝试过这样的东西:
var properStart = DateTimeOffset.ParseExact(startdate, "yyyy-MM-dd'T'HH:mm:sszzz",
CultureInfo.InvariantCulture).ToString();
var properEnd = DateTimeOffset.ParseExact(enddate, "yyyy-MM-dd'T'HH:mm:sszzz",
CultureInfo.InvariantCulture).ToString();
但这会给我一个错误,如下所示:
Additional information: String was not recognized as a valid DateTime.
我到底做错了什么?
发布于 2018-07-01 01:43:47
您正在尝试解析此字符串:
"2018/06/30 23:00"
指定此格式:
"yyyy-MM-dd'T'HH:mm:sszzz"
该格式与该字符串不匹配,因此解析失败。从输入的格式进行解析:
var properStart = DateTimeOffset.ParseExact(startdate, "yyyy/MM/dd HH:mm",
CultureInfo.InvariantCulture)
然后输出为您想要的格式:
var properStartOutput = properStart.ToString("yyyy-MM-dd'T'HH:mm:sszzz");
或者,如果你真的想在一行中完成所有的事情:
var properStart = DateTimeOffset.ParseExact(startdate, "yyyy/MM/dd HH:mm",
CultureInfo.InvariantCulture).ToString("yyyy-MM-dd'T'HH:mm:sszzz").
重点是解析输入和格式化输出是两个不同的操作。
https://stackoverflow.com/questions/51117173
复制相似问题