将破折号添加到Perl中的日期

Pad*_*wan 1 formatting perl

我需要能够获取Perl字符串(YYYYMMDD格式的日期)并添加破折号(使其成为YYYY-MM-DD)格式.是否有捷径可寻?例如,对于1900年1月1日,我将输入19000101,如果需要1900-01-01则需要输入.

Mat*_*cob 5

在日期上没有进行验证的意义上并不是特别好,但是如果您已经知道您正在使用有效日期,那么这既简单又快速:

$ perl -wle 'print join("-", unpack("A4A2A2", "19000101"))'
1900-01-01
Run Code Online (Sandbox Code Playgroud)

可以使用任何字符串---甚至是非日期 - 可以是加号还是减号,具体取决于你如何看待它:

$ perl -wle 'print join("-", unpack("A4A2A2", "YYYYMMDD"))'
YYYY-MM-DD
Run Code Online (Sandbox Code Playgroud)