day19Python时间模块

2018-08-09  本文已影响0人  七夜_174e

主要包含处理年月日,时分秒对应的时间,主要着重时分秒。
使用time模块要先导入
import time

专门处理年月日
import datetime

1、获取时间

时间戳:就是从格林威治时间(1970年1月1日0:0:0)到当前时间的时间差(单位是秒)

  time1 = time.time()
  print(time1,type(time1))

1533803211.2256541 <class 'float'>

2、将时间戳转换成struct_time

localtime(seconds)
参数seconds:
a、不传参,就是将当前时间对应的时间戳转换成struct_time
b、传参,就是将指定的时间转换成struct_time

  time1 = time.localtime()
  print(time1)
time.struct_time(tm_year=2018, tm_mon=8, tm_mday=9, tm_hour=16, tm_min=26, tm_sec=51, tm_wday=3, tm_yday=221, tm_isdst=0)

struct_time的结构
tm_year:年
tm_mon:月
tm_mday:日
tm_hour:时
tm_min:分
tm_sec:秒
tm_wday:星期(0-6 -->周一-周天)
tm_yday:当前是当年的第几天
tm_isdst:是否是夏令时

    struct1 = time.localtime(100000)
    print(struct1)
time.struct_time(tm_year=1970, tm_mon=1, tm_mday=2, tm_hour=11, tm_min=46, tm_sec=40, tm_wday=4, tm_yday=2, tm_isdst=0)

2.1将struct_time转换成时间戳

"""
mktime(结构时间)
"""
"""2018-8-31 23:30:40"""
strc = time.strptime('2018-8-31 23:30:40','%Y-%m-%d %H:%M:%S')
time1 = time.mktime(strc)
# 时间加一个小时
time1 += 3600
print('===',time.localtime(time1))
=== time.struct_time(tm_year=2018, tm_mon=9, tm_mday=1, tm_hour=0, tm_min=30, tm_sec=40, tm_wday=5, tm_yday=244, tm_isdst=0)

3、时间的格式转换

"""
strftime(时间格式,时间)
将时间以指定的格式转换成字符串
"""
time_str = time.strftime('%j',time.localtime())
print(time_str)

"""
strptime(需要转换的字符换,时间格式)
将时间字符串转换成相应的struct_time
"""
struct_time = time.strptime('今天是8102年8月9号','今天是%Y年%m月%d号')
print(struct_time)

4、延迟

"""
sleep(秒)
可以让线程阻塞指定的时间
"""

import datetime
# 1、日期类(date)--只能表示年月日
"""1、类的字段"""
# 最小日期
print(datetime.date.min,type(datetime.date.min))
# 最大日期
print(datetime.date.max,type(datetime.date.max))
# 最小单位
print(datetime.date.resolution)

"""2.类方法"""
# 获取当前日期
today1 = datetime.date.today()
print(today1)

# 将时间戳转换成日期
today2 = datetime.date.fromtimestamp(1000000)
print(today2)

"""2、对象属性"""
print(today1.year,type(today1.year))
print(today1.month)
print(today1.day)

"""3、对象方法"""
# 1、获取星期(0-6 -->周一到周天)
print(today1.weekday())
print(today1.isoweekday())  #返回的1-7代表周一到周日

# 2、将指定日期转换成指定格式的字符串日期
print(today1.strftime('%Y-%m-%d %w'))

# 创建日期对象
print(datetime.date(2017,8,29))

打印结果

0001-01-01 <class 'datetime.date'>
9999-12-31 <class 'datetime.date'>
1 day, 0:00:00
2018-08-09
1970-01-12
2018 <class 'int'>
8
9
3
4
2018-08-09 4
2017-08-29
上一篇下一篇

猜你喜欢

热点阅读