我有一个从 Oracle 数据库中捕获的 .csv 文件。.csv 文件中的日期采用 Oracle 内部格式(不知道它叫什么,因为我不熟悉 Oracle)。看起来像16474
当我在我们用于访问数据库的应用程序中查看该日期时,日期为2/6/2013
.
但是,当我将 .csv 文件导入 Excel 并将列格式设置为短日期时,日期显示为2/6/1945
我做了一个随机抽样,看起来月/日总是正确的,但年份相差 68 年。我假设这是因为 Oracle 的“时间开始”不同于 Excel 的“时间开始”
有什么办法可以解决这个问题,以便在将 Oracle 数据导入 Excel 时正确显示日期?
我无权访问 Oracle 方面的任何内容......只有 .csv 文件和 Excel。如果有帮助,我最终也会将 Excel 文件导入 Access。
到目前为止,我在 Excel 中将 Oracle 日期格式化为短日期,并在我的日期列 (J) 旁边插入了一列,并使用了以下内容:
=DATE(YEAR(J1)+68,MONTH(J1),DAY(J1))
考虑到闰年,我不确定这是否 100% 准确
编辑:我认为这段代码可以做到:
Public Sub ReplaceData()
Dim RangeCell As Range
For Each RangeCell In Selection
If IsNumeric(RangeCell.Value) Then
lngDate = CLng(RangeCell.Value)
RangeCell.Value = DateAdd("d", lngDate - 1, "1/1/1968")
End If
Next RangeCell
End Sub