转移日期和时间的最好方法是什么?我在客户端/浏览器端使用GWT,在服务器端使用JSON,并使用.NET作为数据交换格式。我目前在服务器上以.NET DateTime的形式存储所有的日期和时间。现在我注意到,如果我使用GWT DatePicker或DateBox选择日期并将其作为毫秒(通过执行date.getTime())发送到服务器,其中服务器将此参数作为DateTime,我可以看到由于BST导致的小时偏移。在某些情况下,我必须在UI上将日期和时间放在不同的框中,由于日程安排的原因,时间设置和正确的日期至关重要。
发布于 2010-09-19 01:47:43
交换日期和时间值的最好方法是将它们序列化为与文化无关的、基于UTC的字符串,如: 2010-09-18T18:37:11。问题是,与日期和时间相关的操作往往无法正确实现……
至于你的问题,我假设它是在JSON time的反序列化过程中弹出的,也就是说,.Net将这个时间视为本地时间(DateTimeKind.Local或DateTimeKind.Unspecified),从而对其进行转换。不确定如何处理它,暴力可能会像上面那样发送序列化的字符串,并像这样手动反序列化:
DateTime date = DateTime.Parse(dateString, CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal);发布于 2015-10-13 17:40:55
我建议使用诸如ISO 8601之类的标准来以字符串形式传输日期时间信息。在我的公司,JSON对象中编码的日期时间信息几乎都是这种格式,例如"2015-10-12T18:41:11+01:00“。此字符串可以在使用不同编程语言(Obj-C、Java、C/C++)的所有客户端中正确解析和理解。
https://stackoverflow.com/questions/3725491
复制相似问题