C# Unix时间戳转换为时间

在做一些接口的时候,比如返回数据中有一个时间的属性,它的值是使用Unix时间戳表示的,当我们处理它(保存到本地或者格式化前台展示)时需要转换成日期时间,在此就需要根据时间戳转换为日期时间

(注:Unix时间戳是当前标准时区时间与1970年1月1日所经历的总秒数)

/// <summary>
/// 根据时间戳转换为当前时间
/// </summary>
/// <param name="timeSpan">时间戳(精确到秒)</param>
/// <returns></returns>
public static DateTime ConvertTimeSpanToDateTime(long timeSpan)
{
    return new DateTime(timeSpan * 10000000 + 621355968000000000L).ToLocalTime();
}

这里乘以10000000是因为Second与Tick的换算,+621355968000000000L 是因为1970年1月1日的Ticks为621355968000000000L;

(new DateTime(1970,1,1)).Ticks
//621355968000000000

使用:

Console.WriteLine(ConvertTimeSpanToDateTime(1476800237));
Console.ReadKey();

  

时间: 2024-10-10 09:19:25

C# Unix时间戳转换为时间的相关文章

SQLServer中将时间戳转换为时间格式

--在sql中将时间戳转换为时间类型 SQL里面有个DATEADD的函数.时间戳就是一个从1970-01-01 08:00:00到时间的相隔的秒数.所以只要把这个时间戳加上1970-01-01 08:00:00这个时间就可以得到你想要的时间了select DATEADD(second,1268738429 + 8 * 60 * 60,'1970-01-01 00:00:00') 注解:北京时间与GMT时间关系    1.GMT是中央时区,北京在东8区,相差8个小时 2.所以北京时间 = GMT时

时间戳转换为时间

根据时间戳转换为具体的具体的时间信息,需要注意的是根据要根据具体时区做出调整 实现代码如下: NSString *[email protected]"1368082020";//时间戳 NSTimeInterval time=[str doubleValue]+28800;//因为时差问题要加8小时 == 28800 sec NSDate *detaildate=[NSDate dateWithTimeIntervalSince1970:time]; NSLog(@"date

微信小程序如何把后台返回的多条json数据的时间戳转换为时间放到页面上 (微信小程序 时间戳转换为时间)

小程序端 在utils文件夹下的util.js写入 //时间戳转换时间   function toDate(number){   var n=number * 1000;   var date = new Date(n);   var Y = date.getFullYear() + '/';   var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '/';   var D = date

C# 时间戳转换为时间格式

// 时间戳转为格式 public DateTime StampToDateTime(string timeStamp) { DateTime dateTimeStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); long lTime = long.Parse(timeStamp + "0000000"); TimeSpan toNow = new TimeSpan(lTime); return

unix时间戳与时间

[[email protected] ~]# date -d "@1381371010" Thu Oct 10 10:10:10 CST 2013 [[email protected] ~]# date --date="Thu Oct 10 10:10:10 CST 2013" +%s 1381371010 [[email protected] ~]# date Tue Jun 28 10:12:05 CST 2016 [[email protected] ~]#

Unix时间戳与C# DateTime时间类型、C语言互换 1970-01-01 00:00:00

和同事的下位机交互的时候,需要使用到时间转换, 刚好找到这篇文章,用C语言实现的话,还挺麻烦的 下面给出C#和C的源码 注:C# 转自 http://www.cnblogs.com/hanhualangzi/archive/2012/02/10/2345952.html C源码是同事给我的: C#: 1 dangranusing System; 2 using System.Collections.Generic; 3 using System.Text; 4 5 namespace WWFra

Unix时间戳转日期时间格式,C#、Java、Python各语言实现!

之前有个Q上好友没事问我,怎么自己写Unix时间戳转日期时间?于是我就顺手写了个C#版本给他!最近想起来,就萌发多写几个语言的版本分享,权当练习思路外加熟悉另外两种语言. 先说转换步骤 先处理年份,从1970年开始处理,根据平年闰年的总秒数,先得到年,剩余的秒数再求月份: 根据剩余秒数求得月份,因为2月的缘故,同样需要处理平年闰年': 得天数,直接除以每天的总秒数,然后取得天: 取小时.分钟.秒: Python版本: # -*- coding: UTF-8 -*- from datetime i

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

UNIX 时间戳 C#

/// 将Unix时间戳转换为DateTime类型时间 /// </summary> /// <param name="d">double 型数字</param> /// <returns>DateTime</returns> public static System.DateTime ConvertIntDateTime(double d) { System.DateTime time = System.DateTime.M