C# 将字符串日期转换为特定日期时间格式
我有一个字符串形式的日期时间格式,如下所示:C# 将字符串日期转换为特定日期时间格式,c#,asp.net,string,datetime,C#,Asp.net,String,Datetime,我有一个字符串形式的日期时间格式,如下所示: Additional information: String was not recognized as a valid DateTime. 开始日期: 2018/06/30 23:00 截止日期: 2018/07/01 19:32 现在我想把这个字符串转换成如下格式: 2017-02-11T19:58:18.918Z var properStart = DateTimeOffset.ParseExact(startdate, "yyy
Additional information: String was not recognized as a valid DateTime.
开始日期:
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();
开始日期和结束日期都应采用此日期字符串格式
我试过这样的方法:
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/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").
关键是解析输入和格式化输出是两种不同的操作。您正在尝试解析此字符串:
"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").
关键是解析输入和格式化输出是两种不同的操作