c#时间Ticks备忘

1秒=1000毫秒

1毫秒=1000微秒

1微秒=1000纳秒

 

1Tick=100纳秒

1微妙=10Tick

1毫秒=1000微妙=1000*10Tick

1秒=1000毫秒=1000*1000*10Tick

 

复制代码
long shanghaiTimeZoneTicks = 8 * 36000000000;

var dt = new DateTime(2000, 1, 1);
Debug.Log(dt.Ticks); //东8区的ticks区的ticks: 630,822,816,000,000,000
Debug.Log(dt.Ticks - shanghaiTimeZoneTicks); //去掉时区后的ticks: 630,822,528,000,000,000

var dtUtc = dt.ToUniversalTime();
Debug.Log(dtUtc.Ticks); //0时区的ticks: 630,822,528,000,000,000



var dt2 = new DateTime(1, 1, 1, 8, 0, 0);
Debug.Log(dt2.Ticks); //东8区的ticks: 288,000,000,000
Debug.Log(dt2.Ticks - shanghaiTimeZoneTicks); //去掉时区后的ticks: 0

dtUtc = dt2.ToUniversalTime();
Debug.Log(dtUtc.Ticks); //0时区的ticks: 0



var dt3 = new DateTime(1970, 1, 1);
Debug.Log(dt3.Ticks); //东8区的ticks: 621,355,968,000,000,000
Debug.Log(dt3.Ticks - shanghaiTimeZoneTicks); //去掉时区后的ticks: 621,355,680,000,000,000

dtUtc = dt3.ToUniversalTime();
Debug.Log(dtUtc.Ticks); //0时区的ticks: 621,355,680,000,000,000
复制代码

 

java中的System.currentTimeMillis计算

public static long GetCurrentTimeMillis()
{
    long delta = System.DateTime.Now.Ticks - 621355968000000000;
    long millis = delta / (1000 * 10); //1ms=10,000Tick
    return millis;
}

 

posted @   yanghui01  阅读(177)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
历史上的今天:
2023-07-28 ugui模仿 - InputField光标的显示,闪烁,左右移动
2023-07-28 ==和ReferenceEquals区别
点击右上角即可分享
微信分享提示