最近在做一个项目,需要 JS 时间戳转成 C#里的时间,再把 C#里的时间戳转成 JS 的时间, 就仔细研究了下 js 与 C# 进行转换的注意要点,这里记录下来,有需要的小伙伴自己拿走。
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
JS 时间戳转成 C#里的时间,再把 C# 里的时间戳转成 JS 的时间
JS 里的时间戳
- var dt = new Date().getTime();//时间戳
C# 时间戳转时间
- DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime( new DateTime(1970, 1, 1));
- long lTime = long.Parse(dt + "0000"); //说明下,时间格式为13位后面补加4个"0",如果时间格式为10位则后面补加7个"0",至于为什么我也不太清楚,也是仿照人家写的代码转换的
- TimeSpan toNow = new TimeSpan(lTime);
- DateTime dtResult = dtStart.Add(toNow); //得到转换后的时间
-------------------------------------------------------------------------------
C# 时间转时间戳
- System. DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime( new System. DateTime(1970, 1, 1, 0, 0, 0, 0));
- //intResult = (time- startTime).TotalMilliseconds;
- DateTime dtResult//获取时间
- long t = (dtResult.Ticks - startTime.Ticks) / 10000;//除10000调整为13位
JS
- var d = new Date(data); //时间戳转时间
- alert(formatDate(d));
- //格式化时间
- function formatDate(now) {
- var year=now.getFullYear();
- var month=now.getMonth()+1;
- var date=now.getDate();
- var hour=now.getHours();
- var minute=now.getMinutes();
- var second=now.getSeconds();
- return year+ "-"+month+ "-"+date+ " "+hour+":" +minute+":" +second;
- }
代码超级简单,但是却都很实用,小伙伴们参考下吧
来源: