如何在 Perl 中将 ISO8601 时间戳转换为 unix 时间?
给定一个表示 ISO8601 格式的日期/时间的字符串(例如 20100723T073000
),我最终需要使用通用 strftime
格式字符串将其解析为用户提供的格式。为此,我需要将 ISO8601 时间戳转换为 Unix 时间戳。 Perl 有大量的日期/时间操作模块,我有点不知所措。关于如何执行此操作有什么建议吗?
Given a string that represents a date/time in ISO8601 format (e.g. 20100723T073000
), I need to ultimately parse this into a user-supplied format using a general strftime
format string. In order to do that, I need to convert the ISO8601 timestamp to a Unix timestamp. There are a huge amount of date/time manipulation modules for Perl and I'm a little overwhelmed. Any suggestions on how to do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您没有或不想安装
DateTime::Format::ISO8601
模块,您可以使用HTTP::Date
解析至少 ISO8601 的一个子集>:与任何日期处理一样,请注意时区问题。
If you don't have or don't want to install the
DateTime::Format::ISO8601
module, you can parse at least a subset of ISO8601 withHTTP::Date
:As with any date handling, be cautious about time zone issues.
用于处理日期、时间、持续时间、时区和格式的冠军模块是 DateTime。获得 DateTime 对象后,您可以对其执行大量操作,例如添加/减去其他 DateTime 对象或 DateTime::Duration 对象,或以其他格式打印出来。
打印:“2010-07-23 07:30:00”
The champion module for handling dates, times, durations, timezones and formats is DateTime. Once you've got your DateTime object, you can perform a huge number of operations on it, like adding/subtracting other DateTime objects or DateTime::Duration objects, or printing it out in another format.
prints: "2010-07-23 07:30:00"