首先,我是新手级别的程序员,如果不清楚,我深表歉意。我击中的API正在返回" CreateDate:20190216T070519.000Z"或" Endtime:20190217T190847.181Z",我不知道如何将其转换为DateTime。
这被返回为字符串,我得到
字符串未被认为是有效的DateTime。
我尝试了这样的事情,但是我无法了解源格式或此.000Z代表什么,我怀疑它是一个时区。
DateTime.ParseExact(createdDate, "yyyyMMddpHHmmss.fffZ",CultureInfo.InvariantCulture);
还这样认为它会有所帮助,但不确定该如何处理createdDate.Substring(16, 3)
部分。
MessageBox.Show(createdDate.Substring(0, 8) +" @ "+ createdDate.Substring(9, 6) + " @ " + createdDate.Substring(16, 3));
只是看着它,它可能是%Y%m%dT%H%M%S.%fZ
的Python格式,但不确定,因为我不熟悉Python,但是在线搜索的一些搜索使我认为它很近。似乎这是时区,也许是与UTC之类的差异。我不希望我的程序有错误的日期时间信息,因此,如果有人可以帮助我弄清楚这真是太棒了。
z表示UTC。如果除了UTC以外的时区,通常将其指定为偏移-600或沿这些行
至于您的日期,您接近:
DateTime.ParseExact(createdDate,"yyyyMMddTHHmmss.fffK",CultureInfo.InvariantCulture)
c#使用k代表"种类",可以是UTC或本地或不确定的
有些人是棍子,会说您需要将t放在单个引号" t"中,
DateTime.ParseExact(createdDate,"yyyyMMdd'T'HHmmss.fffK",CultureInfo.InvariantCulture)
但是说实话,我发现这很困惑...