Excel - 识别 JS 日期格式

Excel - 识别 JS 日期格式

我有一个将数据库数据导出为 CSV 格式的服务,但我现在无法更改它。

虽然执行查询返回标准 SQL 日期格式 -2014-12-26 19:41:23.012但中间的 Node.js 中间件似乎将日期转换为 Javascript 标准日期格式:

new Date().toString();
// -> Fri Dec 26 2014 19:36:00 GMT-0800 (Pacific Standard Time)

令我沮丧的是,Excel 无法将其识别为日期格式,我不得不费尽心思将其分解成 Excel 可以识别的格式。

虽然我不太熟悉它,但我知道Custom格式单元格属性可以帮助日期操作。

我要怎么做才能让 Excel 识别这种日期格式?

答案1

两天前我遇到了几乎完全相同的问题。日期是文本格式,如果不进行一些操作,excel 就无法转换它。以下是我必须对字符串进行的操作才能使其正常工作(使用 Excel 2010):

  1. 删除开头的‘Fri’和结尾的‘GMT...’。如果文本在 A1 中,则 B1 为:

=MID(A1,4,LEN(A1)-35

  1. 在日期和年份之间添加逗号。因此 C1 列为:

=LEFT(B1, 7) & "," & MID(B1,8,LEN(B1))

  1. 转换为日期/时间。D1 列:

=DATEVALUE(C1)+TIMEVALUE(C1)

根据空格的位置,您可能需要调整字符串索引。而且您仍需要使用自定义格式将显示更改为您想要的格式。

您也可以将其组合成一个长公式:

=DATEVALUE(LEFT(MID(A1,4,LEN(A1)-35), 7) & "," & MID(MID(A1,4,LEN(A1)-35),8,LEN(MID(A1,4,LEN(A1)-35))))+TIMEVALUE(LEFT(MID(A1,4,LEN(A1)-35), 7) & "," & MID(MID(A1,4,LEN(A1)-35),8,LEN(MID(A1,4,LEN(A1)-35))))

答案2

风俗格式仅显示所需格式的文本或数字。但在此之后,Excel 必须先识别基础数据风俗格式就可以了。

在您的情况下,您需要首先获取 Excel 左侧的 25 个字符。

=LEFT(A1,25)

然后粘贴为值,然后应用日期格式Excel 将会识别它。

答案3

假设单元格 A1 的值为“2014 年 12 月 26 日星期五 19:36:00 GMT-0800(太平洋标准时间)”,则使用以下公式获得正确的日期输出

=DATEVALUE(MID(A1,9,2)&MID(A1,5,3)&MID(A1,12,4))

答案4

要将 JS new Date() 格式转换为 Excel 可读的格式,可以使用以下步骤:

  1. 获取日期的前 10 位数字:

2019-11-19T14:15:05.000Z -> =left(A1,10) = 2019-11-19

  1. 将结果值转换为数字:

2019-11-19T14:15:05.000Z -> =left(A1,10)*1 = 43788

  1. 将单元格的格式从“常规”更改为“短日期”或“长日期”:

2019-11-19T14:15:05.000Z -> =left(A1, 10)*1 = 43788 -> 更改为长日期格式 = 2019 年 11 月 19 日,星期二

相关内容