【发布时间】:2014-04-22 06:57:31
【问题描述】:
在我下面的属性中,我将字符串解析为日期时间。
public virtual string StartTimeLocal
{
set { StartTime = DateTime.Parse(value).ToUTCDateTime(); }
}
刚刚签入的值我有26/1/2014 02:17 PM
你能帮我解决我做错了什么以及如何纠正吗?
【问题讨论】:
-
如果将
DateTime.Parse(value)更改为DateTime.Parse(value, CultureInfo.InvariantCulture)会怎样? (向在我之前到达那里的@Mzf 道歉) -
如果您询问有关解析错误的问题,您应该始终包含您的文化(例如
en-US)。顺便说一句,你为什么将一个字符串而不是DateTime传递给这个属性? -
@TimSchmelter 到第二部分,看起来这个属性将接受一个输入字符串,然后在 StartTime 属性上设置 DateTime,该属性是一个 DateTime,标准化为 UTC。
-
@ClickRick:是不是已经有一种方法可以用于此目的:
DateTime.ToUniversalTime? -
没错,我忘记了这一点,但在某些情况下,属性仍然需要获取字符串。它确实取决于应用程序,以及它的使用位置/方式。