在 AngularJS 中 documentation ,显示了一个示例:
<span ng-non-bindable>{{1288323623006 | date:'medium'}}</span>:
<span>{{1288323623006 | date:'medium'}}</span><br>
<span ng-non-bindable>{{1288323623006 | date:'yyyy-MM-dd HH:mm:ss Z'}}</span>:
<span>{{1288323623006 | date:'yyyy-MM-dd HH:mm:ss Z'}}</span><br>
<span ng-non-bindable>{{1288323623006 | date:'MM/dd/yyyy @ h:mma'}}</span>:
<span>{{'1288323623006' | date:'MM/dd/yyyy @ h:mma'}}</span><br>
<span ng-non-bindable>{{1288323623006 | date:"MM/dd/yyyy 'at' h:mma"}}</span>:
<span>{{'1288323623006' | date:"MM/dd/yyyy 'at' h:mma"}}</span><br>
过滤器左侧的值是什么 (1288323623006)?如何将 C# DateTime 转换成它?
请您参考如下方法:
1970 年 1 月 1 日午夜与特定日期和时间之间的毫秒数。 在 javascript 中,您可以使用 Date.now 函数获取当前时间值
var currentTime = Date.now();
Angularjs 日期格式可以与时间表示和 Date 对象一起使用。因此,您不需要在服务器端将 DateTime 转换为数字,只需使用 DateTime 并在客户端将其转换为 Date 对象即可。
参见 fiddle
如果你真的需要服务器端的号码,你可以使用下面的代码
public static class DateTimeJavaScriptExtensions
{
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);
}
}
