python数据分析中的时间处理(2)

云计算 waitig 752℃ 百度已收录 0评论
1. time模块
我们可以使用time.gmtime()函数将时间转换成更加易读的形式。该函数使用timestamp作为参数,返回struct_time类的一个实例对象。该实例对象可以用来表示当前时间的一些属性。
比如: 
  • tm_year:  timestamp的年份
  • tm_mon: timestamp的月份(1-12)
  • tm_mday: timestamp的日期(1-31)
  • tm_hour: 时间戳的小时(0-23)
  • tm_min: 时间戳的分钟(0-59)
例如我们可以通过一下代码获取年:
current_time = time.time()
current_struct_time = time.gmtime(current_time)
current_year = current_struct_time.tm_year

需要注意的是time模块UTC时间,关于UTC时间,点击这里https://baike.baidu.com/item/协调世界时/787659?fr=aladdin


2. datetime模块
当日期计算量大时,datetime更加好用。比如需要计算时间跨度和不同时区时。
基于datatime类创建一个对象:

date_2017 = datetime.datetime(year=2017, month=12, day=31, hour=11, minute=23, second=12)

或者简化:

date_2017 = datetime.datetime(year=2017, month=12, day=31)

获取当前的UTC时间的datetime对象,可以使用datetime.utcnow()函数,如下:

current_datetime = datetime.datetime.utcnow()

一旦我们创建了一个datetime对象,我们可以使用该对象的以下属性:

  • year:返回年值作为整数。
  • month:返回月值一个整数。
  • day:返回整数值。
  • hour:将小时值返回为整数。
  • minute:返回小数值作为整数。
  • second:返回第二个值作为整数。
  • microsecond:将微秒值作为整数返回

3. 时间的计算
当我们需要对时间进行计算的时候,我们需要用到datetime模块中的timedelta类。
当我们创建timedelta的时候,我们可以指定以下参数:

  • weeks
  • days
  • hours
  • minutes
  • seconds
  • milliseconds
  • microseconds

比如我们希望计算3周和2天后的时间,我们首先创建一个datetime的实例对象:

today = datetime.datetime.now()

然后,我们创建一个timedelta的实例对象,用来表示时间长度;

diff = datetime.timedelta(weeks=3, days=2)

然后,我们计算3周和2天后的时间:

future = today + diff

当然我们也可以计算该时间跨度前的时间:

past = today - diff

4. 时间输出的格式化
datetime对象提供了一个格式化输入时间的方法,datetime.strftime()
格式化日期:
%Y/%y ,%B/%b, %d, %A/%a — 2015/15 , September/Sep, 25, Sunday/Sun
%c 本地的时间格式 %x 本地时间 %X 本地日期
格式化时间: 
%I/%H 12小时/24小时 %M 分 %S 秒, %p

print(now.strftime("%Y")) # 2016
print(now.strftime("%y")) # 16
print(now.strftime("%B")) # September
print(now.strftime("%b")) # Sep
print(now.strftime("%d")) # 25
print(now.strftime("%A")) # Sunday
print(now.strftime("%a")) # Sun
print(now.strftime("%c")) # 本地时间格式
print(now.strftime("%x")) # 本地时间
print(now.strftime("%X")) # 本地日期

例子:

datetime.datetime.now().strftime("%I:%M%p on %A %B %d, %Y")

04:07PM on Thursday October 05, 2017


本文由【waitig】发表在等英博客
本文固定链接:python数据分析中的时间处理(2)
欢迎关注本站官方公众号,每日都有干货分享!
等英博客官方公众号
点赞 (0)分享 (0)