C# DateTime与时间戳转换

原文:C# DateTime与时间戳转换

C# DateTime与时间戳的相互转换,包括JavaScript时间戳和Unix的时间戳。

1. 什么是时间戳

首先要清楚JavaScript与Unix的时间戳的区别:

JavaScript时间戳:是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总毫秒数

Unix时间戳:是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数

可以看出JavaScript时间戳总毫秒数,Unix时间戳是总秒数

比如同样是的 2016/11/03 12:30:00 ,转换为JavaScript时间戳为 1478147400000;转换为Unix时间戳为 1478147400。

2. JavaScript时间戳相互转换

2.1 C# DateTime转换为JavaScript时间戳

System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当地时区
long timeStamp = (long)(DateTime.Now - startTime).TotalMilliseconds; // 相差毫秒数
System.Console.WriteLine(timeStamp);

2.2 JavaScript时间戳转换为C# DateTime

long jsTimeStamp = 1478169023479;
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当地时区
DateTime dt = startTime.AddMilliseconds(jsTimeStamp);
System.Console.WriteLine(dt.ToString("yyyy/MM/dd HH:mm:ss:ffff"));

3. Unix时间戳相互转换

3.1 C# DateTime转换为Unix时间戳

System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当地时区
long timeStamp = (long)(DateTime.Now - startTime).TotalSeconds; // 相差秒数
System.Console.WriteLine(timeStamp);

3.2 Unix时间戳转换为C# DateTime

long unixTimeStamp = 1478162177;
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当地时区
DateTime dt = startTime.AddSeconds(unixTimeStamp);
System.Console.WriteLine(dt.ToString("yyyy/MM/dd HH:mm:ss:ffff"));

==================================系列文章==========================================

本篇文章:1.4 C# DateTime与时间戳转换

C#文章导航

时间: 2024-12-18 18:05:19

C# DateTime与时间戳转换的相关文章

C# DateTime 与Unix时间戳转换

由于项目需要采用C/S和B/S混合设计,BS端采用PHP,CS端采用.net,共同读取mysql数据库,时间问题的解决方案 /// <summary> /// 将Unix时间戳转换为DateTime类型时间 /// </summary> /// <param name="d">double 型数字</param> /// <returns>DateTime</returns> public System.DateT

mysql时间属性之时间戳和datetime之间的转换

一.datetime转换为时间戳     方案一:强制转换字段类型 1 use`nec`; 2 SET SQL_SAFE_UPDATES=0; 3 ALTER TABLE `usr_user_info` CHANGE COLUMN `registerTime` `registerTime` BIGINT(20) NOT NULL COMMENT '注册时间' , 4 ALTER TABLE `usr_user_info` CHANGE COLUMN `lastLoginTime` `lastLo

【C#】时间戳转换

今天有时间戳转换的需求,网上找了半天才找到相关代码,经测试有效,特作此笔记和大家分享! 1.时间戳转为C#格式时间 /// <summary> /// 时间戳转为C#格式时间 /// </summary> /// <param name="timeStamp">Unix时间戳格式</param> /// <returns>C#格式时间</returns> public static DateTime GetTime

13位时间戳转换成标准时间C#代码

1 /// <summary> 2 /// 时间戳转换成标准时间 3 /// </summary> 4 /// <param name="timeStamp">时间戳</param> 5 /// <returns></returns> 6 private DateTime ConvertToTime(string timeStamp) 7 { 8 DateTime time = DateTime.Now; 9 if

python timestamp和datetime之间的转换

做开发中难免时间类型之间的转换, 最近就发现前端js和后端django经常要用到这个转换, 其中jsDate.now()精确到毫秒,而Python中Datetime.datetime.now()是精确到微秒的. 1. 字符串日期时间转换成时间戳 # '2015-08-28 16:43:37.283' --> 1440751417.283 # 或者 '2015-08-28 16:43:37' --> 1440751417.0 def string2timestamp(strValue): try

C#时间戳转换[转发]

http://www.cnblogs.com/qingliuyu/p/3835858.html 以下是C#下的日期与unix时间戳的相互转换: /// <summary> /// 日期转换成unix时间戳 /// </summary> /// <param name="dateTime"></param> /// <returns></returns> public static long DateTimeToUn

C#时间戳转换(转)

基于.net的应用中,不会用到unix时间戳,当.net应用与其它应用(eg: php, java)交互时,就会用到unix时间戳.在项目中曾经用到过一次,用户通过web app提交数据并分享给安卓app时,如果时间间隔在一分钟内,数据才能算是真实有效,否则不予处理.还有asp.net开发中,经常会需要将对象序列化成json数据,js拼接成html,日期对象就会被序列化成如下形式:{“date”:”\/Date(1349839763373)\/”},js还无法识别,这时就不妨考虑下将日期转换成u

C#unix时间戳转换

/// <summary> /// 日期转换成unix时间戳 /// </summary> /// <param name="dateTime"></param> /// <returns></returns> public static long DateTimeToUnixTimestamp(DateTime dateTime) { var start = new DateTime(1970, 1, 1, 0,

js时间戳转换日期格式和日期计算

一.时间戳转换日期 1 function formatDate(datetime) { 2 // 获取年月日时分秒值 slice(-2)过滤掉大于10日期前面的0 3 var year = datetime.getFullYear(), 4 month = ("0" + (datetime.getMonth() + 1)).slice(-2), 5 date = ("0" + datetime.getDate()).slice(-2), 6 hour = (&quo