我从Sharepoint获取此日期时间字符串:
2013-01-01 08:00:00:000
我想将其转换为
2013-01-01 08:00:00 AM
任何想法如何做到这一点?每次我尝试使用Date.Parse时,都会收到错误消息,指出该字符串不是有效的日期时间类型
答案 0 :(得分:3)
最佳选择是将其解析为DateTime
并获取具有特定格式的字符串表示。
string s = "2013-01-01 08:00:00:000";
DateTime dt;
if(DateTime.TryParseExact(s, "yyyy-MM-dd HH:mm:ss:fff", CultureInfo.InvariantCulture,
DateTimeStyles.None, out dt))
{
dt.ToString("yyyy-MM-dd HH:mm:ss tt", CultureInfo.InvariantCulture).Dump();
// 2013-01-01 08:00:00 AM
}
根据Jon's comment,您也可以使用ParseExact
。
DateTime dt = DateTime.ParseExact("2013-01-01 08:00:00:000",
"yyyy-MM-dd HH:mm:ss:fff",
CultureInfo.InvariantCulture);
string s = dt.ToString("yyyy-MM-dd HH:mm:ss tt", CultureInfo.InvariantCulture);
或者您可以直接格式化ParseExact
返回值;
string s = DateTime.ParseExact("2013-01-01 08:00:00:000",
"yyyy-MM-dd HH:mm:ss:fff",
CultureInfo.InvariantCulture)
.ToString("yyyy-MM-dd HH:mm:ss tt", CultureInfo.InvariantCulture);