Perl格式yyyy-mm-dd HH:mm:ss到yyyy-mm-dd在Excel中

时间:2016-03-02 15:12:26

标签: excel perl

我正在尝试使用Excel写入Excel::Writer:XLSX表。

我知道可以使用write_date_time( $row, $col, $date_string, $format )

进行日期时间格式

但是,$date_string必须是这些格式之一(需要T)

yyyy-mm-ddThh:mm:ss.sss         # Standard format
yyyy-mm-ddT                     # No time
          Thh:mm:ss.sss         # No date
yyyy-mm-ddThh:mm:ss.sssZ        # Additional Z (but not time zones)
yyyy-mm-ddThh:mm:ss             # No fractional seconds
yyyy-mm-ddThh:mm                # No seconds

问题是我现在的字符串格式为yyyy-mm-dd HH:mm:ss。有解决方法吗?

1 个答案:

答案 0 :(得分:2)

只需将时间戳中的空格替换为带有正则表达式的T。如果时间戳是一致的,那将是有效的。

write_date_time( $row, $col, $date_string =~ tr/ /T/r, $format );

这将空格音译为大写Ts T并返回结果而不是就地更改。

perlop/r标志至少需要Perl 5.14。