python时间操作

from datetime import datetime
from dateutil.relativedelta import relativedelta

#=========================================================================
#从字符串转为datetime对象,format与bb必须严格匹配
bb = '2021-11-18 23:15:16'
cc = datetime.strptime(bb,'%Y-%m-%d %H:%M:%S') 
cc
Out[37]: datetime.datetime(2021, 11, 18, 23, 15, 16)

#==========================================================================
#从datetime对象转换成字符串,不必严格匹配。可选择性取出
dd = datetime.strftime(cc, "%Y-%m-%d") 
dd
Out[39]: '2021-11-18'

#==========================================================================
#时间加减
#注意是months而非month,days而非day
#有什么不同,可以试试
ff = cc - relativedelta(months=1) + relativedelta(days=1) 
ff
Out[41]: datetime.datetime(2021, 10, 19, 23, 15, 16)

perl的时间操作:

use POSIX qw(strftime);

#这种方法可读性差
my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime;

print strftime("%Y-%m-%d %H:%M:%S\n", localtime(time));

print strftime("%Y-%m-%d %H:%M:%S\n", localtime(time) - 1*3600);

print strftime("%Y-%m-%d %H:%M:%S\n", localtime(time) - 24*3600);

print strftime("%Y-%m-%d %H:%M:%S\n", localtime(time) - 30*24*3600);


但这里有个诡异之处:

这样做是错的:
my $date = localtime(time);
my $today = strftime("%Y%m%d", $date);

而这样是对的:
my $today = strftime("%Y%m%d", localtime(time));

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值