我正在尝试使用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
。有解决方法吗?
答案 0 :(得分:2)
只需将时间戳中的空格替换为带有正则表达式的
T
。如果时间戳是一致的,那将是有效的。
write_date_time( $row, $col, $date_string =~ tr/ /T/r, $format );
这将空格音译为大写Ts
T
并返回结果而不是就地更改。
见perlop。 /r
标志至少需要Perl 5.14。