C#中,Ticks不能作为时间戳使用。

时间戳的核心要求

同一时刻,无论时区如何,时间戳值必须唯一且不变。

DateTime.Ticks显然不符合要求。

csharp 复制代码
DateTime now = DateTime.Now;        // 当前时间 DateTimeKind为Local
long ticks1 = now.Ticks;            // 639131645006955279

DateTime utcVersion = now.ToUniversalTime();  // 转UTC时间 DateTimeKind为UTC
long ticks2 = utcVersion.Ticks;     // 639131357006955279 ❌ 转换时区后 Ticks发生了变化

虽然DateTime附带了DateTimeKind属性,但这不能取代时区信息,仅仅是一个附加属性。

相关推荐
吴可可1233 小时前
Teigha处理CAD样条曲线的方法解析
数据库·算法·c#
XS0301063 小时前
并发编程三
开发语言·c#
魔法阵维护师7 小时前
从零开发游戏需要学习的c#模块,第二十章(2D 敌人与战斗触发)
学习·游戏·c#
我是唐青枫8 小时前
C#.NET YARP + OpenTelemetry:网关链路追踪实战
开发语言·c#·.net
Ws_9 小时前
C# 学习 Day1
开发语言·学习·c#
魔法阵维护师9 小时前
从零开发游戏需要学习的c#模块,第二十一章(精灵动画 —— 让角色走起来)
学习·游戏·c#
Eiceblue9 小时前
使用 C# 高效替换 PDF 中的文本:全页、区域与正则匹配
visualstudio·pdf·c#
一念春风10 小时前
.md文件浏览器
c#·wpf
jerryinwuhan11 小时前
SparkStream详细笔记
笔记·c#·linq