.Net中带时区的时间格式转换

.Net中带时区的时间格式转换

在从WMI中获取信息的时候,发现取出的时间格式挺特殊的(比如:20120321112421.535286+540),直接进行DateTime.TryParse转换还不能正常转换,经过调查才知道这是DMTF格式的时间格式。

string s = "20120321112421.535286+540";
Console.WriteLine( ManagementDateTimeConverter.ToDateTime(s));


 

输出:2012/03/21 10:24:21。(我的电脑设置是中国时区,所以,获取的时间自动转换为了本时区的时间)

 

还有,有时候从第三方获取数据的时候,返回的时间格式也挺特别(比如:Tue Mar 27 14:17:00 +0900 2012),这也得需要一些自定义的技巧才能正常转换。

    string s = "Tue Mar 27 14:17:00 +0900 2012";
    DateTime.TryParseExact(s, "ddd MMM dd HH:mm:ss zzz yyyy", System.Globalization.CultureInfo.CreateSpecificCulture("en-US"),
        System.Globalization.DateTimeStyles.None, out dt);

    Console.WriteLine(dt);


 

 

输出:2012/03/27 13:17:00

 

参考资料:

DMTF时间转换:http://msdn.microsoft.com/zh-cn/library/system.management.managementdatetimeconverter.aspx

自定义时间格式:http://msdn.microsoft.com/zh-cn/library/8kb3ddd4.aspx

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值