Cá nhân, tôi đã luôn luôn sử dụng Time::ParseDate cho việc này. Nó hiểu khá nhiều mọi định dạng mà tôi đã thử.
định dạng ngày Absolute
Dow, dd Mon yy
Dow, dd Mon yyyy
Dow, dd Mon
dd Mon yy
dd Mon yyyy
Month day{st,nd,rd,th}, year
Month day{st,nd,rd,th}
Mon dd yyyy
yyyy/mm/dd
yyyy-mm-dd (usually the best date specification syntax)
yyyy/mm
mm/dd/yy
mm/dd/yyyy
mm/yy
yy/mm (only if year > 12, or > 31 if UK)
yy/mm/dd (only if year > 12 and day < 32, or year > 31 if UK)
dd/mm/yy (only if UK, or an invalid mm/dd/yy or yy/mm/dd)
dd/mm/yyyy (only if UK, or an invalid mm/dd/yyyy)
dd/mm (only if UK, or an invalid mm/dd)
định dạng ngày tương đối:
count "days"
count "weeks"
count "months"
count "years"
Dow "after next"
Dow "before last"
Dow (requires PREFER_PAST or PREFER_FUTURE)
"next" Dow
"tomorrow"
"today"
"yesterday"
"last" dow
"last week"
"now"
"now" "+" count units
"now" "-" count units
"+" count units
"-" count units
count units "ago"
Absolute định dạng thời gian:
hh:mm:ss[.ddd]
hh:mm
hh:mm[AP]M
hh[AP]M
hhmmss[[AP]M]
"noon"
"midnight"
định dạng thời gian tương đối:
count "minutes" (count can be franctional "1.5" or "1 1/2")
count "seconds"
count "hours"
"+" count units
"+" count
"-" count units
"-" count
count units "ago"
định dạng múi giờ:
[+-]dddd
GMT[+-]d+
[+-]dddd (TZN)
TZN
định dạng đặc biệt:
[ d]d/Mon/yyyy:hh:mm:ss [[+-]dddd]
yy/mm/dd.hh:mm
Ah, tốt cũ Ngày :: Manip ... Làm thế nào bạn có thể không yêu một module mà cố gắng khó khăn như vậy để nói chuyện với bạn ra của việc sử dụng nó? –
Chính xác những gì tôi đang tìm kiếm, nhưng (như thường lệ) tôi không biết cách đặt câu hỏi. Cảm ơn. – andymurd
Tôi nghĩ DateTime là những gì cộng đồng hiện nay thúc đẩy nhiều nhất là giải pháp Ngày & Giờ toàn diện. Xem datetime.perl.org và bài viết này http://www.perl.com/pub/a/2003/03/13/datetime.html – draegtun