2013-10-14 271 views
0

我有一个Excel文件,其中一个日期列,但我想日期列转换为格式化日期(YY:MM:DD:时间)在Excel

YY/MM/DD /时间

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

这是我的数据:

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

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

有人可以帮助我我该怎么办呢?我想将其插入到postgresql中,我想将所有内容都改为兼容的日期格式。

编辑:我试过右键单击 - >格式单元格 - >日期但它不会改变任何东西!

谢谢

+0

首先使用文本列设置列作为一个日期,然后进行格式化它然而你想要。 – user2140261

回答

0

您将不得不使用固定解析将日期解析为四列。 然后以任何您想要的方式重新组合列。 只有谷歌与固定的Excel分析列。

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):

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

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

但是你可以设置的Postgres通过设置datestyle设置接受各种日期样式。你可以这样做globally in postgresql.conf或临时参加你的会议。

SET datestyle = SQL, DMY 

对于更奇特的格式,你可以从那里创建一个临时的临时表,COPY它和INSERT到目标表中。其中,您可以使用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

+0

= TEXT(A1,“yyyy-mm-ddThh:MM:ss”)是实际的iso格式(+/-小数秒和时区)。显然postgress不会被T打扰,尽管如此= TEXT(A1,“yyyy-mm-dd hh:MM:ss”) –

+0

@DirkBester:这是'YYYY-MM-DD HH24:MI:SS'。案件与这些部分无关。 'MM'将在Postgres成为月份。 'HH'将在Postgres有12小时的时间。ISO 8601允许双方同意省略'T'字符。 –