时间内建模块

time

包括time, datetime, calendar, business_calendar, pytz, dateutil等等模块。

time模块

ticks = time.time() 返回一个表示当前时刻的浮点数,只能表示1970年到2038年

struct_time = time.localtime(time.time()) 返回本地时间

  • 返回时间元组对象 struct_time,并不能自动转化为字符串
  • 返回例如
    time.struct_time(tm_year=2016, tm_mon=4, tm_mday=7, tm_hour=10, tm_min=3, tm_sec=27, tm_wday=3, tm_yday=98, tm_isdst=0)
  • tm_wday 表示一周的第几天
  • tm_yday 表示一年的第几天
  • tm_isdst 表示是否是夏令时

time.asctime(struct_time) 返回给定时间的字符串表示,只能传入时间元组而不是ticks

time.strftime(FORMAT, STRUCT_TIME) 可以定制时间字符串格式

  • 时间格式化符号
    • %y (两位数年份00-99),%Y (四位数年份0000-9999)
    • %m (月份01-12),%d (月中的第几天01-31)
    • %H (24小时制00-23),%I (12小时制01-12)
    • %M (分钟数00-59),%S (秒数00-59)
    • %w (周几0-6,0代表周日),%a (本地简化星期名称,如Sat),%A (本地完整星期名称,如Saturday)
    • %U (一年中的第几周00-53,周日始),%W (一年中的第几周00-53,周一始)
    • %a (本地简化月份名称,如Jul),%A (本地完整月份名称,如July)
    • %j (一年内的第几天001-366)
    • %p (值为AM或者PM)
    • 常用格式:
      • %Y-%m-%d %H:%M:%S

time.strptime(STRING[, FORMAT]) 将字符串转换为struct_time对象。如果STRING是标准的时间字符串可以不用指定FORMAT,否则还是指明的好。

time.mktime(struct_time_object) 将struct_time对象转化为一个浮点数(时间戳)

time.clock() 返回当前CPU时间,用于计算程序耗时


datetime模块

是time模块的高级封装,同时解除了time模块对年份(1970 - 2038)的限制。

datetime模块包含了5个类,实际常用的是datetime类。

ddnow = datetime.datetime.now() 获取当前时间,是一个datetime.datetime对象

datetime.datetime(2018, 7, 28, 9, 49, 22, 994058)

这个可比time模块舒服多了…

API Function
ddnow.year 获取相关字段信息,类似的还有.month, .day, .hour, .minute, .second, .tzinfo, .microsecond等等
ddnow.replace(...) 修改上述字段的值
ddnow.strftime(FORMAT) 格式化时间字符串,与time.strftime()作用相同
datetime.datetime.strptime(STRING, FORMAT) 相对的datetime模块也能从时间字符串重构datetime对象
ddnow.date()
ddnow.time()
和datetime模块其他两个类(date,time)交互
ddnow.timetuple() 返回 time.struct_time 对象

calendar模块

与日历相关


business_calendar模块

工作日相关


pytz模块

时区相关


dateutil模块

dateutil.parser 非常强大的时间字符串解析函数,返回datetime.datetime对象

dateutil.rrule 根据定义的规则生成datetime.datetime对象


pandas.to_datetime

----- For reprint please indicate the source -----
0%