繁体   English   中英

如何转换此日期时间字符串?

[英]How to convert this date time string?

我从Sharepoint获取此日期时间字符串:

2013-01-01 08:00:00:000

我想将其转换为

2013-01-01 08:00:00 AM

任何想法如何做到这一点? 每次我尝试使用Date.Parse时,都会收到一条错误消息,指出字符串不是有效的日期时间类型

最好的选择是将其解析为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的评论 ,您也可以使用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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM