【发布时间】:2014-01-22 10:05:18
【问题描述】:
如何解析这个字符串:
"\"2014-01-02T23:00:00.000Z\"" to DateTime
这不起作用:
DateTime? dateTimeFormat= string.IsNullOrEmpty(inputString) ?? (DateTime?)null : DateTime.Parse(inputString);
【问题讨论】:
如何解析这个字符串:
"\"2014-01-02T23:00:00.000Z\"" to DateTime
这不起作用:
DateTime? dateTimeFormat= string.IsNullOrEmpty(inputString) ?? (DateTime?)null : DateTime.Parse(inputString);
【问题讨论】:
您需要为DateTime.ParseExact 方法指定确切的日期时间格式:
string input = "\"2014-01-02T23:00:00.000Z\"";
var date = DateTime.ParseExact(input, "'\"'yyyy-MM-dd'T'HH:mm:ss.fff'Z\"'", null);
提供的格式说明:
'\"' - match first "
yyyy-MM-dd - match 2014-01-02
'T' - match T
HH:mm:ss.fff - match 23:00:00.000
'Z\"' - match Z"
【讨论】:
这会有所帮助
string test = "2014-01-02T23:00:00.000Z";
DateTime dt = Convert.ToDateTime(test);
【讨论】:
DateTime.ParseExact(your_date.ToString(), "yyyy-MM-ddTHH:mm:ssZ", null)
【讨论】:
重新格式化字符串以放入正确的格式,然后解析
string = "\"2014-01-02T23:00:00.000Z\"";
string = substring(3,10) + " " + substring(14,8); //"2014-01-02 23:00:00"
time = DateTime.Parse(string);
【讨论】:
试试这个:
DateTime.ParseExact("2014-01-02T23:00:00.000Z" , "yyyy-MM-DDThh:mm:ssZ",CultureInfo.InvariantCulture);
也许这可行。
添加- 使用 System.Globalization;
【讨论】:
我已经尝试了这个答案中的几乎所有方法/代码,但没有一个对我有用。虽然,使用这个问题的先前答案的部分代码,我做到了这一点,它对我来说非常有效。
var d = "2019-01-11T05:00:00.000Z"; //Date
int year = Convert.ToInt32(d.Substring(0, 4));
int month = Convert.ToInt32(d.Substring(5, 2));
int day = Convert.ToInt32(d.Substring(8, 2));
var time = new DateTime(year, month, day);
我不关心时间。如果你愿意,你可以添加它。
【讨论】: