none
请问,用c#.net如何把这样一个字符串"Tue Aug 24 13:58:11 +0800 2010"转换成DateTime,急 RRS feed

答案

  • CultureInfo cultureInfo = CultureInfo.CreateSpecificCulture("en-US");
    string format = "ddd MMM d HH:mm:ss zz00 yyyy";
    string stringValue = DateTime.Now.ToString(format, cultureInfo); // 得到日期字符串
    DateTime datetime = DateTime.ParseExact("Wed Aug 25 16:28:03 +0800 2010", format, cultureInfo); // 将字符串转换成日期
    

    知识改变命运,奋斗成就人生!
    • 已标记为答案 逍遥客 2010年8月25日 9:33
    2010年8月25日 8:35
    版主

全部回复

  • 这个时间不是很规则,看起来像是一个 UTC 时间,由于不是标准格式,可能很难转化为 DateTime 的。可能需要自己处理,格式化成标准 UTC 后再转换。

    标准 UTC 格式可以是:

    yyyyMMddTHHmmss timezone

    比如:

    20100825T163000 +08:00

    请参考 DateTime.ToString() 的 MSDN 帮助文档,上面列出了可以被转换的标准时间/日期格式。


    Mark Zhou
    2010年8月25日 8:23
  • CultureInfo cultureInfo = CultureInfo.CreateSpecificCulture("en-US");
    string format = "ddd MMM d HH:mm:ss zz00 yyyy";
    string stringValue = DateTime.Now.ToString(format, cultureInfo); // 得到日期字符串
    DateTime datetime = DateTime.ParseExact("Wed Aug 25 16:28:03 +0800 2010", format, cultureInfo); // 将字符串转换成日期
    

    知识改变命运,奋斗成就人生!
    • 已标记为答案 逍遥客 2010年8月25日 9:33
    2010年8月25日 8:35
    版主