Perl的time、localtime和gmtime函数
- time用于返回当前时间点,返回格式是以从1970年1月1日(纪元由操作系统决定,但unix系统一般都是1970年1月1日)距离现在的秒数表示的epoch
- localtime用于返回给定时间的秒、分、时、日、月、年、周等9个部分的时间属性,参数为epoch时间格式,不给参数则返回当前时间点对应的秒、分、时、日、月、年等属性
- gmtime和localtime类似,但是返回的UTC时间
print time,"\n";
localtime在列表上下文返回的是各个时间部分,在标量上下文返回的是一个本地格式的时间值。
[root@xuexi perlapp]# perl -e '$a=localtime;print $a,"\n";'
Sat Sep 8 09:03:56 2018
以下是localtime在列表上下文返回的各个时间部分:
# 0 1 2 3 4 5 6 7 8
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
其中:
- sec:秒
- min:分
- hour:时
- mday:日,即当月的第几天
- mon:月份,值为0-11,0表示1月,11表示12月,如此表示的好处后面解释
- year:年,返回从1900年开始的整数值,如果要返回4位数的年份,将其加上1900即可
- wday:周几,值为0-6,0是周日,1是周一,6是周六
- yday:一年的第几天,值为0-364或0-365
- isdst:是否是夏令时
例如:
use 5.010;
@time=localtime;
say qq(second : $time[0]);
say qq(minute : $time[1]);
say qq(hour : $time[2]);
say qq(mon_day : $time[3]);
say qq(month : $time[4]);
say qq(year : $time[5]);
say qq(week_day: $time[6]);
say qq(year_day: $time[7]);
say qq(isdst : $time[8]);
输出结果为:
second : 42
minute : 10
hour : 9
mon_day : 8
month : 8
year : 118
week_day: 6
year_day: 250
isdst : 0
之所以用0表示1月份,11表示12月份,是为了让月份数值和偏移对应。例如,偏移0位表示1月。
my @month = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);
print "$month[$mon]"
如果想要格式化输出日期时间,则可以采用printf:
($S,$M,$H,$d,$m,$y) = localtime;
printf "%04d-%02d-%02d %02d:%02d:%02d\n",1900+$y,1+$m,$d,$H,$M,$S;
但是不推荐这种方式。可以使用POSIX中提供的strftime来格式化时间:
use POSIX qw(strftime);
strftime("%F %T", localtime);
Perl的time、localtime和gmtime函数的更多相关文章
- 逆向 time.h 函数库 time、gmtime 函数
0x01 time 函数 函数原型:time_t time(time_t *t) 函数功能:返回自纪元 Epoch(1970-01-01 00:00:00 UTC)起经过的时间,以秒为单位.如果 se ...
- Perl:undef类型和defined()函数
undef和defined()函数 undef表示的像是数据库中的"null".它表示空,啥也没有,是完全未定义的.这不等于字符串的空,不等于数值0,它是另一种类型. 在某些时候, ...
- Perl文件测试操作和stat函数
在shell中通过test命令或者中括号[]可以进行文件测试以及其它类型的测试,例如判断文件是否存在,比较操作是否为真等等.perl作为更强大的文本处理语言,它也有文件测试类表达式,而且和shell的 ...
- Perl系列文章
0.Perl书籍推荐 Perl书籍下载 密码:kkqx 下面是一些我学习Perl过程中读过完整的或部分章节的觉得好的书. 入门级别1:<Perl语言入门>即小骆驼 入门级别2:<In ...
- Boost-date_time库学习
最近开了boost库的学习,就先从日期-时间库开始吧,boost的date_time库是一个很强大的时间库,用起来还是挺方便的. 以下代码只是入门级的简单学习,更详细的资料参考boost源码. C+ ...
- UNIX系统高级编程——第六章-系统数据文件和信息-总结
口令文件: /* The passwd structure. */ struct passwd { char *pw_name; /* Username. */ char *pw_passwd; /* ...
- 日期时间函数(1)-time()&gmtime()&strftime()&localtime()
◆time() 取得当前时间.此函数会返回从公元1970年1月1日的UTC时间从0时0分0秒算起到现在所经过的秒数.如果参数t为非空指针的话, 此函数也会将返回值存到t指针所指的内存. 成功则返回秒数 ...
- Perl 获取时间函数
Perl 时间日期 Perl中处理时间的函数有如下几种: 1.time() 函数:返回从1970年1月1日起累计的秒数 2.localtime() 函数:获取本地时区时间(多用这个) ...
- linux常用的时间获取函数(time,gettimeofday,clock_gettime,_ftime,localtime,strftime )
time()提供了秒级的精确度 1.头文件 <time.h> 2.函数原型 time_t time(time_t * timer) 函数返回从TC1970-1-1 0:0:0开始到现在的秒 ...
随机推荐
- cURL error 60: SSL certificate problem...
php在curl的时候报错 cURL error 60: SSL certificate problem: unable to get local issuer certificate (see ht ...
- 微信二次开发点击菜单openId的获取
首先普及一个知识:一个关注的用户对于一个微信公众号是唯一的,也就是说一个用户针对与一个微信公众号是唯一的,对于不同的公众号,同一个微信号具有不同的openId; 在微信开发中,我们添加了一个二级菜单并 ...
- C#框架类
C# 开源框架(整理) Json.NET http://json.codeplex.com/ Json.Net 是一个读写Json效率比较高的.Net框架.Json.Net 使得在.Net环境下使用J ...
- mysql5.6版本的优化
1. 目标 l 了解什么是优化 l 掌握优化查询的方法 l 掌握优化数据库结构的方法 l 掌握优化MySQL服务器的方法 2. 什么是优化? l 合理安排资源.调整系统参数使MySQL运行更快.更节省 ...
- dubbo 源码学习1 服务发布机制
1.源码版本:2.6.1 源码demo中采用的是xml式的发布方式,在dubbo的 DubboNamespaceHandler 中定义了Spring Framework 的扩展标签,即 <dub ...
- Python编程练习:简单的闹钟提醒
问题详情:当前时间为下午2点,你在手机上设置了一个闹钟提醒,10000秒后触发该闹钟,请问闹钟铃声响起时的具体时间?请用print打印出时间 源码: a = 10000 h,m,s=2,0,0 if ...
- 吴恩达机器学习笔记25-神经网络的模型表示2(Model Representation of Neural Network II)
( FORWARD PROPAGATION ) 相对于使用循环来编码,利用向量化的方法会使得计算更为简便.以上面的神经网络为例,试着计算第二层的值: 这只是针对训练集中一个训练实例所进行的计算.如果我 ...
- JS创建对象,数组,函数的三种方式
害怕自己忘记,简单总结一下 创建对象的3种方法 ①:创建一个空对象 var obj = {}; ②:对象字面量 var obj = { name: "Tom", age: 27 ...
- 判断浏览器是否支持HTML5 video
话不多说,下面是我从W3C扒的判断浏览器是是否支持H5视频的代码,有需要的小伙伴,拿走不谢 HTML <div id="checkVideoResult"><bu ...
- CentOS随笔——克隆虚拟机
克隆虚拟机 1.关闭要被克隆的虚拟机 2.找到克隆选项 3.欢迎页面,如图94所示 4.克隆虚拟机,如图95所示 5.设置创建完整克隆,如图96所示 6.设置克隆的虚拟机名称和存储位置,如图97所示 ...