【发布时间】:2014-12-05 09:26:21
【问题描述】:
我将 javascript 日期转换为 C# DateTime。
当我使用 firefox 时,JavaScript 将日期返回给我的 C# 函数:
string jsDate = "Fri Dec 05 2014 00:00:00 GMT+0100";
所以,我使用以下方法将其解析为 C# DateTime:
DateTime.TryParseExact(JsDate, "ddd MMM dd yyyy HH:mm:ss 'GMT'K", CultureInfo.InvariantCulture, DateTimeStyles.None, out Date)
当我使用 Chrome 时,js 以格式返回我日期:"Fri Dec 05 2014 00:00:00 GMT+0100 (Środkowoeuropejski czas stand.)" (
中欧标准时间)
如何解析第二次?
【问题讨论】:
-
使用
TryParseExact,您在末尾有一个DateTime,而不是string。这意味着,您已经有了一个基于您的"Fri Dec 05 2014 00:00:00 GMT+0100"字符串的DateTime。不需要额外的解析。我不知道Środkowoeuropejski czas stand是什么,但它似乎只是您的DateTime的字符串表示形式的附加表示。 -
@SonerGönül:我认为关键在于 Chrome 提供的输入不适合代码 - 这不是一个写得很清楚的问题。
-
或者,您可以尝试使用毫秒/秒作为公共基础,请参阅:stackoverflow.com/a/1877827/265165
-
@JonSkeet 是的,听起来像这样。当然不清楚的问题,但显然 OP 尝试使用不适当的 Chrome 字符串表示。
标签: javascript c# date datetime