Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从rest/WCF/enity/sqlserver-datetime中提取日期和时间/日期(XXXXXXXXXXXXXXXXX-XXXXX)/“;一串_C#_Sql Server_Json_Wcf_Datetime - Fatal编程技术网

C# 如何从rest/WCF/enity/sqlserver-datetime中提取日期和时间/日期(XXXXXXXXXXXXXXXXX-XXXXX)/“;一串

C# 如何从rest/WCF/enity/sqlserver-datetime中提取日期和时间/日期(XXXXXXXXXXXXXXXXX-XXXXX)/“;一串,c#,sql-server,json,wcf,datetime,C#,Sql Server,Json,Wcf,Datetime,我使用ResponseFormat=WebMessageFormat.JSON通过WCF返回JSON 从使用实体框架访问的SQL后端 我的问题又回来了 { "DateInserted": "/Date(1435640400000-0500)/", "DateUpdated": "/Date(1454699734160-0600)/", 在我的数据库中插入的日期是2015-06-30 00:00:00.000 在我的数据库中更新的日期是2016-02-05 13:15:34.16

我使用ResponseFormat=WebMessageFormat.JSON通过WCF返回JSON 从使用实体框架访问的SQL后端

我的问题又回来了

    {
  "DateInserted": "/Date(1435640400000-0500)/",
  "DateUpdated": "/Date(1454699734160-0600)/",
在我的数据库中插入的日期是2015-06-30 00:00:00.000 在我的数据库中更新的日期是2016-02-05 13:15:34.160


但是我还没有找到关于Date()字符串表示的数字的任何信息,也没有找到datetime转换为该字符串表示的位置的任何信息,因此您可以共享的任何信息都可能对我有所帮助。

datetime值以“/Date(700000+0500)/”的形式显示为WCF JSON字符串,其中,第一个数字(提供的示例中为700000)是GMT时区的毫秒数,即自1970年1月1日午夜以来的常规(非夏令时)时间。该数字可能为负数,以表示较早的时间。示例中由“+0500”组成的部分是可选的,指示时间是本地类型的-也就是说,应在反序列化时转换为本地时区。如果不存在,则将时间反序列化为Utc。忽略实际数字(本例中为“0500”)及其符号(+或-)

下面的Javascript函数仅使用日期字符串的第一部分创建新的Javascript日期,例如,自1970年1月1日午夜以来的毫秒数。Javascript日期构造函数将创建具有正确区域设置时间的日期

String.prototype.toDateFromWcfJsonString = function()
{
   return eval(this.replace(/\/Date\(([-|+]*\d+)([\+|-]\d+)*\)\//, "new Date($1)"));
};

另请参见。

日期时间值以“/Date(700000+0500)/”的形式显示为WCF JSON字符串,其中第一个数字(提供的示例中为700000)是自1970年1月1日午夜以来GMT时区的常规(非夏令时)时间的毫秒数。该数字可能为负数,以表示较早的时间。示例中由“+0500”组成的部分是可选的,指示时间是本地类型的-也就是说,应在反序列化时转换为本地时区。如果不存在,则将时间反序列化为Utc。忽略实际数字(本例中为“0500”)及其符号(+或-)

下面的Javascript函数仅使用日期字符串的第一部分创建新的Javascript日期,例如,自1970年1月1日午夜以来的毫秒数。Javascript日期构造函数将创建具有正确区域设置时间的日期

String.prototype.toDateFromWcfJsonString = function()
{
   return eval(this.replace(/\/Date\(([-|+]*\d+)([\+|-]\d+)*\)\//, "new Date($1)"));
};

另请参见。

它看起来像Unix时间戳。在这种情况下,2月5日星期五格林尼治标准时间晚上7:15。我假设0500是一个时差。这是自1970年1月1日午夜以来的秒数。转换很容易,将该秒数添加到1970年1月1日。有关此格式的说明,请参阅。如果您想要不同的格式,请参见“谢谢!”!根据Equalsk的评论,我能够找到答案。事实证明,它是自1970年1月1日午夜以来的总毫秒数,然后减去第二个小时数。它看起来像一个Unix时间戳。在这种情况下,2月5日星期五格林尼治标准时间晚上7:15。我假设0500是一个时差。这是自1970年1月1日午夜以来的秒数。转换很容易,将该秒数添加到1970年1月1日。有关此格式的说明,请参阅。如果您想要不同的格式,请参见“谢谢!”!根据Equalsk的评论,我能够找到答案。事实证明,这是自1970年1月1日午夜以来的总毫秒数,然后减去第二个小时数。