C# 如何使用json.SerializerSettings.Converters将日期格式化为1288323623006

C# 如何使用json.SerializerSettings.Converters将日期格式化为1288323623006,c#,json,C#,Json,我目前正在WebAPI应用程序中使用以下日期筛选器: json.SerializerSettings.Converters.Add( new IsoDateTimeConverter { DateTimeFormat = "dd-MM-yyyy hh:mm" }); 我开始使用它,因为我的前端无法理解日期。如果我没记错的话,那是因为毫秒的格式太多了 我需要的是将日期转换成如下格式: 1288323623006 有人可以建议我如何使用序列化程序来实现这一点吗。这与默认值不同吗?您根本不

我目前正在WebAPI应用程序中使用以下日期筛选器:

json.SerializerSettings.Converters.Add( 
   new IsoDateTimeConverter { DateTimeFormat = "dd-MM-yyyy hh:mm" });
我开始使用它,因为我的前端无法理解日期。如果我没记错的话,那是因为毫秒的格式太多了

我需要的是将日期转换成如下格式:

1288323623006

有人可以建议我如何使用序列化程序来实现这一点吗。这与默认值不同吗?

您根本不想使用
IsoDateTimeConverter
——您可能想使用。这将把它转换成具有正确值的
newdate(…)
,但我相信它确实会包括
newdate(…)
部分。如果您不想这样做,您可能需要编写自己的转换器

编写一个转换器应该不会太难——尽管您需要决定如何处理不同类型的
DateTime
。例如,如果要求您将
日期时间
转换为
类型
未指定的
,您想假设它实际上已经在UTC,还是已经在系统本地时区,或者其他什么


一旦您获得了适当的“瞬间”,您只需找到从该瞬间到Unix纪元(1970年1月1日00:00:00,UTC)之间的毫秒数,并将该毫秒数转换为字符串。

您根本不想使用
IsoDateTimeConverter
,您可能想使用它。这将把它转换成具有正确值的
newdate(…)
,但我相信它确实会包括
newdate(…)
部分。如果您不想这样做,您可能需要编写自己的转换器

编写一个转换器应该不会太难——尽管您需要决定如何处理不同类型的
DateTime
。例如,如果要求您将
日期时间
转换为
类型
未指定的
,您想假设它实际上已经在UTC,还是已经在系统本地时区,或者其他什么


一旦您在时间上获得了一个合适的“瞬间”,您只需要找到它与Unix纪元(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; 

我想这就是你想要的

 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; 

1288323623006应该是什么日期/时间?{{1288323623006 |日期:'medium'}:2010年10月29日11:40:23您偶然在
unix时间戳之后吗?1288323623006应该是什么日期/时间?{{1288323623006 |日期:'medium'}:2010年10月29日11:40:23您偶然在
unix时间戳之后吗?