Date VB6 Julian日期字符串到日期对象
Visual Basic 6中是否有一个函数可用于将儒略日期字符串(99001-1999年1月1日)转换为Date VB6 Julian日期字符串到日期对象,date,vb6,vb6-migration,julian-date,Date,Vb6,Vb6 Migration,Julian Date,Visual Basic 6中是否有一个函数可用于将儒略日期字符串(99001-1999年1月1日)转换为日期对象 我尝试过使用CDate(),但结果不符合预期 谢谢。我认为以下方法可行,只需将您的julian日期放入jd变量中即可 Dim dt as Date Dim jd as Long dt = DateSerial(1900 + Int(jd / 1000), 1, jd Mod 1000) 99001??日期和月份是如何编码的?只有一个1?你是说“990101”吗?哪一天哪一个月?
日期
对象
我尝试过使用CDate()
,但结果不符合预期
谢谢。我认为以下方法可行,只需将您的julian日期放入jd变量中即可
Dim dt as Date
Dim jd as Long
dt = DateSerial(1900 + Int(jd / 1000), 1, jd Mod 1000)
99001
??日期和月份是如何编码的?只有一个1
?你是说“990101”吗?哪一天哪一个月?您希望能够对1999年之后的日期进行编码吗?也就是说,你担心什么?您可能需要选择一个年份值,低于该值时,您假设年份为19**,高于该值时,您假设年份为20**。如果你有任何控制的格式,我会建议4位数年!年份是99,日期是001。我猜这一年也可能是2099年。它成功了。唯一的问题是1900年应该改为2000年。谢谢。@MarkJ:我承认我上次看这段代码已经有一段时间了:)唯一需要做的是检查年份是否超过80,比如说,2000年是80,1999年是1900。我会替换Int(jd/1000)使用jd\1000只是为了更清楚地说明它并避免浮点中间值。对于后代:DateSerial(年、月、日),此代码将月设置为1,并让日结束。年份可以是两位数,微软将尝试做正确的事情。