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

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

经过实验,发现

在C#中获取如PHP函数time()一样的时间戳[原创]long a=(DateTime.Now.Ticks-aa.Ticks)/10000000-8*60*60;
在C#中获取如PHP函数time()一样的时间戳[原创]tbxUrl.Text
=a.ToString();
在C#中获取如PHP函数time()一样的时间戳[原创]

要减去8*60*60才和time()函数得到的值一样。
什么问题?刚好是8个时区产生的差别。

在C#中获取如PHP函数time()一样的时间戳[原创]DateTime aa=new DateTime(1970,1,1);
在C#中获取如PHP函数time()一样的时间戳[原创]MessageBox.Show(
"1970  "+aa.Ticks.ToString()+"now"+DateTime.Now.Ticks.ToString());
在C#中获取如PHP函数time()一样的时间戳[原创]
long a=(DateTime.Now.Ticks-aa.Ticks)/10000000-8*60*60;
在C#中获取如PHP函数time()一样的时间戳[原创]tbxUrl.Text
=a.ToString();

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

ok~ 使用下面的代码即可

在C#中获取如PHP函数time()一样的时间戳[原创]DateTime timeStamp=new DateTime(1970,1,1);  //得到1970年的时间戳
在C#中获取如PHP函数time()一样的时间戳[原创]
long a=(DateTime.UtcNow.Ticks-timeStamp.Ticks)/10000000;  //注意这里有时区问题,用now就要减掉8个小时
在C#中获取如PHP函数time()一样的时间戳[原创]

相关文章:

  • 2021-12-04
  • 2022-12-23
  • 2023-03-29
  • 2021-09-19
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2023-03-21
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案