我知道这个问题已经以不同的方式被问了很多次,但是我没有看到这样做的方式,所以它给出了当天的转换,我见过的所有例子都使用过去的日期但是在我的我希望将TODAY的日期与系统变量一起使用。现在我发现微软的代码显示了如何做到这一点但它有两个问题:1。它是针对特定日期输入到文本框中而不使用系统日期和2.它不考虑闰年(如今年)。以下是此链接:https://support.microsoft.com/en-us/kb/116281
我尝试操纵代码从系统日期开始,但它只是一直给我错误。我几天前刚刚开始使用VB,所以我对这些东西非常新,所以请原谅我有限的知识。任何指导都将不胜感激。
顺便说一下,我想要的格式是YYDDD所以今天是16075.我可以使用16
JulianYear = DateTime.Now.ToString("yy")
但我无法弄清楚当天使用内置功能并牢记闰年。所以任何帮助都会非常感激。
由于
答案 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