c# - 以微秒为单位的日期时间

标签 c# datetime time double precision

是否将具有微秒的日期时间值转换为具有精确精度的 double 值?

例如。我的日期是 2017 年 7 月 3 日 10:00:00 00 Ticks 636346728000000050。当我得到 42919.4166666667 时转换为双倍。同样,我已将 50 Ticks 添加到当前日期,即。 2017 年 7 月 3 日 10:00:00 00 Ticks 636346728000000100 转换为 double,也得到相同的 double 值,但 ticks 值已添加到日期中。

我是通过这个方法转换成double的date.ToOADate()

谁能解决这个问题?

提前致谢:)

最佳答案

OLE 自动化日期不能表示 50 个刻度。这段代码:

DateTime d1 = DateTime.Parse("3 July 2017 10:00:00");
DateTime d2 = d1.AddTicks(100);
double o2 = d2.ToOADate();
Console.WriteLine(o2);

DateTime d3 = d1.AddTicks(1000);
double o3 = d3.ToOADate();
Console.WriteLine(o3);

DateTime d4 = d1.AddTicks(10000); 
double o4 = d4.ToOADate();
Console.WriteLine(o4);

生成输出:

42919,4166666667
42919,4166666667
42919,4166666782

因此您至少需要 10000 个滴答才能使添加产生影响。

关于c# - 以微秒为单位的日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44879461/

相关文章:

c# - 将文件从一个 Azure 存储帐户复制到另一个 Azure 存储帐户

c# - 在 Getter 或构造函数中初始化成员

scala - Spark : Parse a Date/Timestamps with different Formats (MM-dd-yyyy HH:mm, MM/dd/yy H:mm ) 在 Dataframe 的同一列

javascript - 将 Javascript 计数器格式化为 00 :26

php - 在php中从数据库检索并比较时间

c# - UWP 自定义控件,不能使用绑定(bind),只有 x :Bind, 如何适配?

c# - 使用 wpf mvvm 在运行时更改 URI 时,图像未在 UI 中更新

parsing - 用 Dart 解析日期

python - 如何直接从 datetime.datetime 子模块导入 now()

java - 有没有一种直接的方法可以将 java.time.Period 转换为 java.time.Duration?