扩展C#,DateTime返回和js,Date的getTime相同的值
最近做一个基于Web的实时图表,需要为前台提供时间信息,时间格式是类似这样的new Date().getTime()
其实就是js实现的返回距 1970年1月1日之间的毫秒数的一个方法。
数据是由.NET做后端提供,而.NET没有可以实现和js一样的结果的方法。所以现在只好自己实现一个。我使用了扩展方法扩展了DateTime类。具体实现如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | public static class Helpers { /// <summary> /// 返回和js中Date,getTime等效的值(UTC,返回距 1970 年 1 月 1 日之间的毫秒数) /// </summary> /// <param name="dt"></param> /// <returns></returns> public static long GetTime(this DateTime dt) { long lLeft = 621355968000000000; long tick = (dt.ToUniversalTime().Ticks - lLeft) / 10000; return tick; } } |
吐槽一下
最近被MongoDB的时间问题给搞的头大啊,默认时区为零,js中格式化日期还不方便,与.NET交互时间格式还得统一,想吐啊……