博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在C#中获取如PHP函数time()一样的时间戳
阅读量:5904 次
发布时间:2019-06-19

本文共 1461 字,大约阅读时间需要 4 分钟。

原文:

c#中没有象PHP一样的time()时间戳函数,但有DateTime.Now.Ticks用来计算时间差。

此属性的值为自 0001 年 1 月 1 日午夜 12:00 以来所经过时间以 100 毫微秒为间隔表示时的数字。
dotnet下用DateTime.Now.Ticks能够得到精确的时间,单位是10^-7s。

经过实验,发现

long a=(DateTime.Now.Ticks-aa.Ticks)/10000000-8*60*60; tbxUrl.Text=a.ToString();

 

要减去8*60*60才和time()函数得到的值一样。

什么问题?刚好是8个时区产生的差别。

DateTime aa=new DateTime(1970,1,1); MessageBox.Show("1970 "+aa.Ticks.ToString()+"now"+DateTime.Now.Ticks.ToString()); long a=(DateTime.Now.Ticks-aa.Ticks)/10000000-8*60*60; tbxUrl.Text=a.ToString();

 

 

同时发现c#里面DataTime有一个属性!DateTime.UtcNow已经考虑了时区问题。

ok~ 使用下面的代码即可

DateTime timeStamp=new DateTime(1970,1,1); //得到1970年的时间戳 long a=(DateTime.UtcNow.Ticks-timeStamp.Ticks)/10000000; //注意这里有时区问题,用now就要减掉8个小时

 

 

 

 

 

 

UNIX时间戳 与 时间格式互相转换

 

/// <summary> /// 将Unix时间戳格式转换为c# DateTime时间格式 /// </summary> /// <param name="timeStamp">时间戳</param> /// <returns>DateTime </returns> public DateTime GetTime(string timeStamp) { DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); long lTime = long.Parse(timeStamp + "0000000"); TimeSpan toNow = new TimeSpan(lTime); return dtStart.Add(toNow); }

       

 

/// <summary> /// 将c# DateTime时间格式转换为Unix时间戳格式 /// </summary> /// <param name="time">时间</param> /// <returns>double</returns> public int ConvertDateTimeInt(System.DateTime time) { int intResult = 0; System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); intResult = (int)(time - startTime).TotalSeconds; return intResult; }

 

 

转载地址:http://zocpx.baihongyu.com/

你可能感兴趣的文章
关于阿里开发者招聘节 |这5道笔试真题 你会吗!???
查看>>
C#的异常处理机制
查看>>
vsftp:500 OOPS: could not bind listening IPv4 sock
查看>>
Linux安装BTCPayServer并设置比特币BTC和Lightning支付网关
查看>>
mysql安装,远程连接,以及修改密码
查看>>
Mybatis查询返回Map类型数据
查看>>
java的深拷贝与浅拷贝
查看>>
程序员如何提高工作效率
查看>>
promise
查看>>
将Java应用部署到SAP云平台neo环境的两种方式
查看>>
数据批量导入Oracle数据库
查看>>
调用lumisoft组件发邮件 不需要身份验证 不需要密码
查看>>
DW 正则
查看>>
抓屏原理
查看>>
UNIX网络编程读书笔记:TCP输出、UDP输出和SCTP输出
查看>>
扩展 DbUtility (1)
查看>>
iOS开发UI篇—使用picker View控件完成一个简单的选餐应用
查看>>
Hadoop学习笔记系列文章导航
查看>>
SpringMVC中ModelAndView addObject()设置的值jsp取不到的问题
查看>>
Prometheus : 入门
查看>>