gpt4 book ai didi

c# - 为什么 DateTime 到 Unix 时间使用 double 而不是整数?

转载 作者:可可西里 更新时间:2023-11-01 09:11:20 27 4
gpt4 key购买 nike

我需要将日期时间转换为 Unix 时间戳。所以我googled它正在寻找一些示例代码

在我看到的几乎所有结果中,他们都使用 double 作为此类函数的返回值,即使在显式使用 floor 将其转换为整数时也是如此。 Unix 时间戳总是整数。那么使用 longint 而不是 double 有什么问题呢?

static double ConvertToUnixTimestamp(DateTime date)
{
DateTime origin = new DateTime(1970, 1, 1, 0, 0, 0, 0);
TimeSpan diff = date - origin;
return Math.Floor(diff.TotalSeconds);
}

最佳答案

通常,我会用一个 unsigned long 来实现它,而不是要求用户向上或向下舍入并转换为 int 或 long。有人可能想要 double 的原因之一是是否使用了类似于 timeval 的结构,例如 gettimeofday .它允许亚秒级精度...

关于c# - 为什么 DateTime 到 Unix 时间使用 double 而不是整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5206880/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com