相关疑难解决方法(0)

用C#计算未来的纪元时间

我能够找到示例代码来获取Linux Epoch中的当前时间戳(1970年1月1日午夜以来的秒数),但是我很难找到如何计算Epoch未来的例子,例如10从现在起几分钟,我怎样才能计算Linux Epoch的未来时间?

c# time epoch

15
推荐指数
2
解决办法
2万
查看次数

是否在dotNet(或C#)中考虑了leapseconds?

DateTime结构是否负责这个?还有其他类/结构吗?

更新:

我现在已经知道,只有提前6个月宣布跳跃,因为地球的旋转不是那么可预测的......

既然在将来的日期里没有可能实现它,我可以想象他们只是省略了它们?

.net c# time datetime

5
推荐指数
2
解决办法
1666
查看次数

通过 Win 10 Oct 2018 更新,Windows 可以感知闰秒。现在.NET 的DateTime 也是如此吗?

2012年,这里有一个关于SO的问题,.NET的DateTime是否能够识别闰秒。[1] 答案是否定的。

\n

文档仍然明确指出事实并非如此。[2]

\n

然而,Windows Server 2019 和 Windows 10 October 2018 更新让Windows 本身意识到了闰秒。[3]

\n

这就引出了一个问题:.NET 现在本质上能够感知闰秒吗?更具体地说:我可以DateTime通过某种方式选择让我的结构也意识到闰秒吗?

\n

编辑:

\n

来自标题为“Quest:在 Windows 上编写闰秒感知应用程序”的 MS Word 文档 [4](由我强调):

\n
\n

已知问题:已知某些框架在闰秒发生后\n会错误地计算时间。例如,.NET Framework 使用其\n内部逻辑来确定现在是什么时间。它的逻辑不\n考虑闰秒。因此,在操作系统中引入闰秒后,\n\xe2\x80\x9cSystem.DateTime.Now.ToString()\xe2\x80\x9d 的输出将\n比本地系统时间提前一秒。 (我们正在与 .NET 框架团队合作解决此问题。)

\n
\n

并来自[5]:

\n
\n

已知某些应用程序会错误地计算时间,\n假设一分钟总是 60 秒。由于闰秒可以\n改变此行为,因此它们将不正确地记录\n此事件期间的时间。例如(在撰写本文时):

\n

.NET Framework 使用自己的内部逻辑来确定现在的时间,并且不考虑闰秒。因此,依赖于\n.NET Framework 的 PowerShell 在使用\nGet-Date 时不会报告第 61 秒(数字 60)

\n

事件查看器:事件的日期将被错误\n记录。但是,事件元数据将正确记录系统时间(显示第 60 秒)。

\n

注意:这些团队正在努力更新其软件,以便在处理闰秒时\n使用更合适的数学方法

\n
\n

因此,.NET 似乎会在未来的某个时候意识到闰秒。因此我不会将此作为解决方案发布。

\n

[1] .Net 的 DateTime 方法能够识别闰秒吗?

\n

[2] …

.net time datetime utc leap-second

5
推荐指数
1
解决办法
774
查看次数

在C#中解析的Java日期时间格式

我被告知我将以以下格式收到日期时间:

yyyy-mm-ddThh:mm:sss
Run Code Online (Sandbox Code Playgroud)

这来自一个Java Web服务,即使我试图得到最终三个"sss"的重点,它似乎是最终格式而不是拼写错误.

所以我试图使用.Net解析它(实际上是C#)

var s = "2014-09-16T12:17:057";
var d = DateTime.ParseExact(s, "yyyy-MM-ddThh:mm:sss", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

但它提出了一个例外

Sting未被识别为有效的DateTime

谢谢,

更新:

怀疑,第三次魅力和我已经确认实际格式应该是

yyyy-MM-ddTHH:mm:ss
Run Code Online (Sandbox Code Playgroud)

c# datetime-format

1
推荐指数
1
解决办法
481
查看次数

标签 统计

c# ×3

time ×3

.net ×2

datetime ×2

datetime-format ×1

epoch ×1

leap-second ×1

utc ×1