asp.net检索由JSON.stringify转换的原始日期值
问题描述:
我们以前的开发人员创建一个通用方法,检索具有更新/更改的所有用户输入。 它看起来像这样(用户端/ JavaScript的/剑道):asp.net检索由JSON.stringify转换的原始日期值
param._updated = JSON.stringify(rows._updated);
我莫名其妙地不顾一切,当该* rows._updated包含日期值叔叔JSON转换为一种可导致以其他字符串格式日期时间区别例如:
dateField = 11/1/2015 // <--Original User Input
rows._updated = { dateField: November 1, 2015 0:00:00 GMT+080 ... }
param._updated = { "dateField": "2015-10-31T16:00:00.0000Z"... }
现在会导致冲突。 因为上面的代码是可能包含不同数据和类型的通用字段,所以我试图在服务器端解决这个问题,但是我未能实现原始日期值。
注意:我们的用户有2-5个不同的时区,因此很难对转换进行硬编码。 相关问题:here
天色已晚。提前致谢!。
答
不知何故,我达到我想要通过以下方法
1)在后端的日期时间转换为UTC格式
string dateUTC = paramDate.ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fff'Z'");
2)现在我已经创建了将要处理的方法UTC日期转换为PlainDate
public static string UTCtoPlainDate(string dateUTC)
{
if (string.IsNullOrEmpty(dateUTC)) return "";
DateTime dateTime;
// Assume date in UTC format, e.g. '2015-03-31T12:00:00.000Z'
DateTime.TryParseExact(dateUTC, "yyyy-MM-dd'T'HH:mm:ss.fff'Z'", System.Globalization.CultureInfo.InvariantCulture,
System.Globalization.DateTimeStyles.AssumeUniversal, out dateTime);
return dateTime.ToString("yyyy-MM-dd") ?? "";
}