簡體   English   中英

使用Perl更改日期格式

[英]Change Date Format with Perl

我有一個文本文件,正在將其轉換為帶有要導入MySQL數據庫的信息的csv文件。

我目前的日期格式如下:

Mar 24

我想更改這種格式

YYYY-MM-DD

我想在perl中執行此操作,因為我已經在perl中的csv文件中完成了所有其他操作。

這是使用Time::Piece暫時解決您的問題的方法,它是一個核心模塊,不需要安裝。

對於您輸入的日期格式不包含年份,我非常不滿意。 下面的代碼假定使用當年,但是如果代碼在12月31日運行,我可以想象像Jan 3日這樣的日期應該升級到下一年。

必須將年份包括在要分析的字符串中,因為對於非-年, Time::PieceFeb 29更改為Mar 1 Feb 29

use strict;
use warnings;

use Time::Piece;

print bd_to_ymd('Mar 24');

sub bd_to_ymd {
  my ($bd) = @_;
  my $year = localtime->year;
  my $tp = Time::Piece->strptime("$year $bd", '%Y %b %d');
  $tp->strftime('%Y-%m-%d');
}

輸出

2014-03-24

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM