我有一个 ASP.NET
MVC
应用程序无法正确转换日期值。我住在一个时区。我的用户驻留在另一个。此时,假设我有以下字符串:
var date = "7/1/2014 4:00:00 AM +00:00";
我正在使用以下方法将此字符串转换为 DateTime:
DateTime temp;
if (DateTime.TryParse(date, out temp))
{
temp = temp.ToShortDateString();
WriteToLog(temp);
}
当 temp 写入日志文件时,我看到它被写为 6/30/2014
。什么可能导致这个?我期待 7/1/2014
。它适用于我的机器。但是,它无法在我的用户计算机上运行。
最佳答案
答案是时区。您正在解析特定时间点(格林威治标准时间凌晨 4:00)。这与前一天中部标准时间晚上 10:00 相同。
如果您将其保存为 UTC:
var s = temp.ToUniversalTime().ToShortDateString();
您将获得请求的输出。
关于c# - 在 C# 中转换日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30605396/