Skip to main content
 首页 » 编程设计

c#之如何将 C# DateTime 转换为 AngularJs

2024年08月06日48freeliver54

在 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); 
   } 
}