Cho một chuỗi đại diện cho ngày/giờ theo định dạng ISO8601 (ví dụ: 20100723T073000
), tôi cần phân tích cú pháp này thành định dạng do người dùng cung cấp bằng chuỗi định dạng chung strftime
. Để thực hiện điều đó, tôi cần chuyển đổi dấu thời gian ISO8601 thành dấu thời gian Unix. Có một số lượng lớn các mô-đun thao tác ngày/giờ cho Perl và tôi hơi bị choáng ngợp. Có bất cứ đề nghị nào cho việc làm như thế này hả?Làm thế nào tôi có thể chuyển đổi một dấu thời gian ISO8601 thành thời gian unix trong Perl?
7
A
Trả lời
13
Mô-đun vô địch để xử lý ngày, giờ, khoảng thời gian, múi giờ và định dạng là DateTime. Khi bạn đã có đối tượng DateTime của mình, bạn có thể thực hiện một số lượng lớn các thao tác trên nó, như thêm/bớt các đối tượng DateTime khác hoặc các đối tượng DateTime::Duration hoặc in ra ở định dạng khác.
use strict; use warnings;
use DateTime;
use DateTime::Format::ISO8601;
my $dt = DateTime::Format::ISO8601->parse_datetime('20100723T073000');
print $dt->strftime('%F %T');
in: "2010/07/23 07:30:00"
4
Nếu bạn không có hoặc không muốn cài đặt các module DateTime::Format::ISO8601
, bạn có thể phân tích ít nhất là một tập hợp con của ISO8601 với HTTP::Date
:
$ perl -MHTTP::Date -wle 'print str2time("2013-11-30T23:05:03")'
1385845503
Như với bất kỳ xử lý ngày nào, hãy thận trọng về các vấn đề múi giờ.
Các vấn đề liên quan
- 1. Làm thế nào để chuyển đổi một dấu thời gian unix thành dấu thời gian ISO8601 trong PHP?
- 2. Chuyển đổi dấu thời gian unix thành julian
- 3. chuyển đổi dấu thời gian unix thành dấu thời gian H2
- 4. Ruby/Rails: chuyển đổi ngày thành dấu thời gian UNIX
- 5. Làm thế nào để chuyển đổi dấu thời gian java thành dấu thời gian php?
- 6. Chuyển đổi ngày thành dấu thời gian UNIX
- 7. MySQL chuyển đổi ngày giờ thành dấu thời gian Unix
- 8. Ruby: chuyển đổi dấu thời gian unix thành ngày
- 9. Làm thế nào để chuyển đổi NSDate thành dấu thời gian Unix trong Objective C/iPhone?
- 10. Làm thế nào để có được dấu thời gian Unix trong MySQL từ thời gian UTC?
- 11. Làm cách nào để chuyển đổi chuỗi HH: MM: SS thành thời gian thời gian UNIX?
- 12. Làm cách nào để chuyển đổi thời gian epoch thành thời gian bình thường trong Perl?
- 13. Chuyển đổi dấu thời gian unix thành ngày có thể đọc được bằng PHP?
- 14. Chuyển đổi thời gian Unix trong C#
- 15. Chuyển đổi dấu thời gian postgresql thành dấu thời gian bằng JavaScript trong Python
- 16. Chuyển đổi thời gian Unix bằng PowerShell
- 17. Làm cách nào để chuyển đổi ngày thành dấu thời gian UNIX bằng Twig?
- 18. Trong Python, làm thế nào tôi có thể biến định dạng này thành một dấu thời gian unix?
- 19. Làm thế nào để chuyển đổi dấu thời gian thành các ngày trong Bash?
- 20. Dấu thời gian Unix trong sqlite?
- 21. Mili giây cho dấu thời gian UNIX
- 22. Khi nào thư mục UNIX thay đổi dấu thời gian
- 23. Chuyển đổi dấu thời gian mysql thành thời gian epoch trong python
- 24. Chuyển đổi Ngày thành Dấu thời gian trong Scala
- 25. Dấu thời gian Unix tới .net DateTime
- 26. Chuyển đổi thời gian Unix thành Ngày có thể đọc được trong Java
- 27. Python: Chuyển đổi thời gian UTC thành dấu thời gian UTC
- 28. Làm thế nào để chuyển đổi NSDate thành số nguyên để vượt qua ngày PHP() làm dấu thời gian unix?
- 29. Chuyển đổi thời gian RFC 3339 thành dấu thời gian chuẩn của Python
- 30. Chuyển đổi API biểu đồ Facebook Ngày thành dấu thời gian UNIX