系统日期为朱利安日期表格?

时间:2016-03-15 18:42:48

标签: .net vb.net datetime

我知道这个问题已经以不同的方式被问了很多次,但是我没有看到这样做的方式,所以它给出了当天的转换,我见过的所有例子都使用过去的日期但是在我的我希望将TODAY的日期与系统变量一起使用。现在我发现微软的代码显示了如何做到这一点但它有两个问题:1。它是针对特定日期输入到文本框中而不使用系统日期和2.它不考虑闰年(如今年)。以下是此链接:https://support.microsoft.com/en-us/kb/116281

我尝试操纵代码从系统日期开始,但它只是一直给我错误。我几天前刚刚开始使用VB,所以我对这些东西非常新,所以请原谅我有限的知识。任何指导都将不胜感激。

顺便说一下,我想要的格式是YYDDD所以今天是16075.我可以使用16 JulianYear = DateTime.Now.ToString("yy") 但我无法弄清楚当天使用内置功能并牢记闰年。所以任何帮助都会非常感激。

由于

1 个答案:

答案 0 :(得分:1)

Julian日历的闰年计数不同(错误),因此3月15日的日计数为62.(意味着累积的Julian错误大约为13天)。你想要的是以朱利安格式的格里高利日期。

您引用的文章适用于Access 97,而.NET已准备好在DateTime类型中使用:

Dim dt = DateTime.Now
Dim jDate = String.Format("{0}{1}", dt.ToString("yy"), dt.DayOfYear.ToString("000"))

结果:

  

“16075”

NET确实包含了实际的Julian日历:

Dim cal = New Globalization.JulianCalendar
Dim jDay = cal.GetDayOfYear(dt)         ' == 62