首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Perl人类可读性时间与时代的毫秒

Perl人类可读性时间与时代的毫秒
EN

Stack Overflow用户
提问于 2011-09-09 05:20:20
回答 2查看 1.8K关注 0票数 0

我正在解析SIP消息,我们需要在人类可读的部分中包含毫秒(即2011/09/08 :10:17.997)--我们需要使用Perl将它们转换为Epoch时间,我已经找到了许多使用从人类可读性到Epoch的示例,但不包括毫秒,这可能吗?我在CPAN中找到了DateTime,但是我在安装它时遇到了问题。因此,寻找其他选项:例如

代码语言:javascript
复制
$epoch = convert(2011/09/08 00:10:17.997)
print $epoch

印刷品: 1315183552

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-09 05:26:29

修复您的系统的任何问题,使您无法安装模块。

除此之外,Epoch时间只有第二分辨率。去掉毫秒,然后使用时间::当地进行转换(您需要自己解析SIP )

代码语言:javascript
复制
$timestamp = "2011/09/08 00:10:17.997";
$timestamp =~ /(\d{4})\/(\d{2})\/(\d{2}) (\d{2}):(\d{2}):(\d{2})/;

# ($sec,$min,$hour,$mday,$mon,$year);
$epoch = timelocal($6, $5, $4, $3, $2 - 1, $1 - 1900);

如果它真的很重要,用毫秒绕过第二个。

票数 5
EN

Stack Overflow用户

发布于 2011-09-09 05:26:25

如果您在linux下,那么快速和肮脏:

代码语言:javascript
复制
$epoch = `date -d "2011/09/08 00:10:17.997" +%s`; print $epoch;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7357423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档