【问题标题】:Date format issue in C#C#中的日期格式问题
【发布时间】:2012-10-23 20:37:12
【问题描述】:

我以这种格式从 javascript 中获取 C# 中的日期:

"Tue Jan 15 00:00:00 UTC+0530 2008"

如何将其转换为"dd/MMM/yyyy" 格式?

【问题讨论】:

  • -1 没有研究工作,有很多重复:oneanotherone more
  • 嘿 Michal,我不同意……答案并不明显。该格式与 DateTime.Parse 不兼容。我没有看到这么多重复。也许我也错了......你能仔细看看Shailesh并重新考虑一下吗?
  • 先生。 Michal,我尝试了很多方法来做到这一点,但我无法得到它,如果你知道答案,请给我答案。
  • @RobSmyth & Shailesh:我真的认为这与question 没有区别,但是好的,请看我的回答..
  • Michal - 是的,您正确地认为该问题是重复的。但是我为答案做了一个谷歌并没有找到stackoverflow的答案。在我看来,-1 是不合理的......除非你仍然认为谷歌会找到很多答案。有时,如果特定问题的答案不多,我们只是不添加确切的关键字。也许你的权利和我也只是错过了显而易见的事情。

标签: c# javascript .net date


【解决方案1】:
 var jsdate = "Tue Jan 15 00:00:00 UTC+0530 2008";
 var format = "ddd MMM d HH:mm:ss UTCzzzzz yyyy";
 var date = DateTime.ParseExact(jsdate, format, CultureInfo.InvariantCulture);

 Console.WriteLine(date.ToString("dd/MMM/yyyy"));

【讨论】:

    【解决方案2】:

    试试这个:

    var test = "Tue Jan 15 00:00:00 UTC+0530 2008";
    const string format = "ddd MMM d HH:mm:ss zzz yyyy";
    
    var var = DateTime.ParseExact(test.Replace("UTC", ""), format, CultureInfo.InvariantCulture);
    Console.WriteLine(var);
    

    【讨论】:

    • @code4life:如果你暗示var 不是一个有效的标识符,那你就错了。它不是 C# 中的关键字;这是一个contextual关键字——它只在某些地方有特殊含义。
    • @JonSkeet:我更关注词源。写var var 有一点代码味道,恕我直言。
    • @code4life:我同意这不是特别好,但你的评论不是很清楚。至少我们现在已经澄清了:)
    • @JonSkeet:是的,有时我的幽默有点狡猾。实际上,我认为大多数时候它都很狡猾,哈哈。
    • 哈哈。我也觉得很好笑。我没有注意到它。有趣,是的,它只是不利于可读性。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-20
    相关资源
    最近更新 更多