如何使用json格式化日期.SerializerSettings.转换器看起来像1288323623006
本文关键字:转换器 看起来 1288323623006 SerializerSettings 日期 何使用 json 格式化 | 更新日期: 2023-09-27 18:27:23
我目前在WebAPI应用程序中使用以下日期过滤器:
json.SerializerSettings.Converters.Add(
new IsoDateTimeConverter { DateTimeFormat = "dd-MM-yyyy hh:mm" });
我开始使用这个,因为我的前端无法理解日期。如果我没记错的话,那是因为毫秒的格式有太多的数字。
我需要的是将日期转换成这样的格式:
1288323623006
有人能建议我如何使用序列化程序做到这一点吗。这与默认值不同吗?
您根本不想使用IsoDateTimeConverter
-您可能想要使用JavaScriptDateTimeConverter
。这将把它转换成具有正确值的new Date(...)
,但我相信它确实会包括new Date(...)
部分。如果您不想这样,您可能需要编写自己的转换器。
编写转换器应该不会太难——尽管您需要决定如何处理不同类型的DateTime
。例如,如果您被要求将DateTime
转换为Unspecified
的Kind
,您想假设它实际上已经在UTC中,或者已经在系统本地时区中,或者其他什么吗?
一旦你得到了一个合适的"即时"时间,你只需要找到它和Unix epoch(1970年1月1日00:00:00,UTC)之间的毫秒数,并将该毫秒数转换为字符串。
我想这就是你想要的
private static readonly long DatetimeMinTimeTicks = (new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).Ticks;
long b = (long)((Calendar1.SelectedDate).ToUniversalTime().Ticks - DatetimeMinTimeTicks) / 10000;