在Excel中格式化日期(YY:MM:DD:时间)

时间:2013-10-14 00:52:14

标签: excel postgresql date csv

我有一个excel文件,带有日期列,但我想将日期列转换为

YY / MM / DD /时间

我一直在寻找2个小时,但还没有结果。

这是我的数据:

来源数据: http://i.stack.imgur.com/75zbS.jpg

预期输出: YY / MM / DD /时间

有人可以帮助我如何做到这一点吗?我想将它插入到postgresql中,我想将所有内容更改为兼容的日期格式。

编辑:我尝试过右击 - >格式化单元格 - >约会,但它没有改变任何东西!

由于

3 个答案:

答案 0 :(得分:2)

您可以使用此方法并将日期和时间拆分为单独的单元格:

=DATE((LEFT(A1,4)),(MID(A1,5,2)),MID(A1,7,2))

=TIME(MID(A1,10,2),(MID(A1,12,2)),0)

一旦您的日期值采用Excel可识别的格式,您就可以将格式更改为您想要的格式。

或者,如果您不想要以可识别的日期格式获取值,您可以像这样获得所需的格式(将为您提供如下所示的字符串:YY / MM / DD / Time):< / p>

=MID(A1,3,2)&"/"&MID(A1,5,2)&"/"&MID(A1,7,2)&"/"&MID(A1,10,4)

答案 1 :(得分:0)

您必须使用固定解析将日期解析为四列。 然后以任何你想要的方式重新组装列。 只有谷歌修复了excel解析列。

答案 2 :(得分:0)

ISO 8601 format would be YYYY-MM-DD H24:MI:SS.

但您可以通过设置datestyle设置将Postgres设置为接受各种日期样式。您可以globally in postgresql.conf暂时为您的会话执行此操作。

SET datestyle = SQL, DMY

对于更多异国情调的格式,您可以从那里创建一个临时的临时表,COPYINSERT到目标表中。其中,您可以使用to_timestamp()

SELECT to_timestamp('13/10/14/17:33', 'YY/MM/DD/hh24:mi')

以下相关答案中的更多信息和示例代码:
Replacing whitespace with sed in a CSV (to use w/ postgres copy command)
How to bulk insert only new rows in PostreSQL