Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Date VB6 Julian日期字符串到日期对象_Date_Vb6_Vb6 Migration_Julian Date - Fatal编程技术网

Date VB6 Julian日期字符串到日期对象

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”吗?哪一天哪一个月?

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”吗?哪一天哪一个月?您希望能够对1999年之后的日期进行编码吗?也就是说,你担心什么?您可能需要选择一个年份值,低于该值时,您假设年份为19**,高于该值时,您假设年份为20**。如果你有任何控制的格式,我会建议4位数年!年份是99,日期是001。我猜这一年也可能是2099年。它成功了。唯一的问题是1900年应该改为2000年。谢谢。@MarkJ:我承认我上次看这段代码已经有一段时间了:)唯一需要做的是检查年份是否超过80,比如说,2000年是80,1999年是1900。我会替换Int(jd/1000)使用jd\1000只是为了更清楚地说明它并避免浮点中间值。对于后代:DateSerial(年、月、日),此代码将月设置为1,并让日结束。年份可以是两位数,微软将尝试做正确的事情。