AJ.*_*AJ. 95 .net javascript c#
从Stackoverflow的另一个答案是从Javascript日期到.net DateTime的转换:
long msSinceEpoch = 1260402952906; // Value from Date.getTime() in JavaScript
return new DateTime(1970, 1, 1) + new TimeSpan(msSinceEpoch * 10000);
Run Code Online (Sandbox Code Playgroud)
但是怎么做呢?DateTime到Javascript日期?
Axe*_*ger 113
尝试:
return DateTime.Now.Subtract(new DateTime(1970, 1,1)).TotalMilliseconds
Run Code Online (Sandbox Code Playgroud)
编辑:真正的UTC更好,但我们需要保持一致
return DateTime.UtcNow
.Subtract(new DateTime(1970,1,1,0,0,0,DateTimeKind.Utc))
.TotalMilliseconds;
Run Code Online (Sandbox Code Playgroud)
虽然,只要两个日期都在同一时区,第二个想法就没关系了.
Yai*_*vet 41
JavaScript Date构造函数接受自Unix纪元(1970年1月1日00:00:00 UTC)以来的毫秒数.这是将.Net DateTime对象转换为JavaScript日期的C#扩展方法:
public static class DateTimeJavaScript
{
private static readonly long DatetimeMinTimeTicks =
(new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).Ticks;
public static long ToJavaScriptMilliseconds(this DateTime dt)
{
return (long)((dt.ToUniversalTime().Ticks - DatetimeMinTimeTicks) / 10000);
}
}
Run Code Online (Sandbox Code Playgroud)
JavaScript用法:
var dt = new Date(<%= DateTime.Today.ToJavaScriptMilliseconds() %>);
alert(dt);
Run Code Online (Sandbox Code Playgroud)
Mar*_*vic 22
使用Moment.js只需使用:
var jsDate = moment(netDateTime).toDate();
Run Code Online (Sandbox Code Playgroud)
netDateTime你的DateTime变量序列化在哪里,类似于"/Date(1456956000000+0200)/".
Ren*_*ira 19
你可以在你的行动中尝试这个:
return DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss");
Run Code Online (Sandbox Code Playgroud)
这在您的Ajax成功中:
success: function (resultDateString) {
var date = new Date(resultDateString);
}
Run Code Online (Sandbox Code Playgroud)
或者在你的视图中:( Javascript加C#)
var date = new Date('@DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss")');
Run Code Online (Sandbox Code Playgroud)
mun*_*sor 10
这应该做的伎俩:
date.Subtract(new DateTime(1970, 1,1)).TotalMilliseconds
Run Code Online (Sandbox Code Playgroud)
另一个迟到的答案,但这里缺少这个。如果你想/Date(1425408717000)/在 javascript 中处理序列化的转换,你可以简单地调用:
var cSharpDate = "/Date(1425408717000)/"
var jsDate = new Date(parseInt(cSharpDate.replace(/[^0-9 +]/g, '')));
Run Code Online (Sandbox Code Playgroud)
资料来源:阿米尔萨希布