Day19-课堂笔记-time

主要包含处理年月日时分秒对应的时间(着重时分秒)
import time
专门处理年月日
import datetime

1.time模块

1)获取当前时间

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

  • 存时间以时间戮的形式去存,可以节省内存空间(一个浮点数的内存是4/8个字节,存一个字符串一个字符占2个字节)
  • 自带时间加密的功能(加密更加方便)
time1=time.time()
    print(type(time1),time1)

 1533804907.0403938

2)将时间戮转换成struct_time

localtime(seconds)
参数seconds:
a.不传参,就是将当前时间对应的时间戮转换成struct——time
b.传参,就是将指导的时间转换成struct_time

tm_year:年
tm_mon:月
tm_mday:日
tm_hour:时
tm_min:分
tm_sec:秒
tm_wday:星期(0-6-->周一到周天)
tm_yday:当前是今年的第几天
tm_isdst:是否是夏令时
time1=time.localtime()
    print('1',time1)


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


2018 8 9
time.struct_time(tm_year=1986, tm_mon=12, tm_mday=1, tm_hour=13, tm_min=43, tm_sec=8, tm_wday=0, tm_yday=335, tm_isdst=0)

3)将struct_time转换成时间戮

strc=time.strptime('2018-8-31 23:31:00','%Y-%m-%d %H:%M:%S')
    time1=time.mktime(strc)
    print(time1)
    time1+=60*60
    print(time1)
    print('dfs',time.localtime(time1))

1535729460.0
1535733060.0
dfs time.struct_time(tm_year=2018, tm_mon=9, tm_mday=1, tm_hour=0, tm_min=31, tm_sec=0, tm_wday=5, tm_yday=244, tm_isdst=0)
2018-08-09 16:55:07

4)时间的格式转换

time.strftime(时间格式,时间)将时间以指定的格式转换成字符串

time_str=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())
    print(time_str)

5)将时间字符串转换成相应的struct_time

struct_time=time.strptime('今天是2018年8月9号','今天是%Y年%m月%d号')
    print(struct_time)
    struct_time = time.strptime('2018-8-9', '%Y-%m-%d')
    print(struct_time)

time.struct_time(tm_year=2018, tm_mon=8, tm_mday=9, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=221, tm_isdst=-1)
time.struct_time(tm_year=2018, tm_mon=8, tm_mday=9, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=221, tm_isdst=-1)

6)延迟

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

2.dateTime模块

(1)日期类(data)只能表示年月日

  • 最小日期
print(datetime.date.min,type(datetime.date.min))


0001-01-01 
  • 最大日期
print(datetime.date.max)

9999-12-31
  • 最小单位
print(datetime.date.resolution)


1 day, 0:00:00

2)类方法

  • 获取当前日期
today=datetime.date.today()
print(today)

2018-08-09
  • 将时间戮转换成日期
    print(today2)


1970-01-01

3)对象属性

today = datetime.date.today()
    print(today.year,type(today.year))
print(today.month)
print(today.day)

2018 
8
9

4)对象方法

  • 获取指定日期的星期(1-7-->周一到周天)
    print(today.isoweekday())

4
  • 将时间转换成Thu Aug 9 00:00:00 2018格式
print(today.ctime())

Thu Aug  9 00:00:00 2018
  • 将指定的日期转换成指定格式的字符串日期
 print(today.strftime('%Y-%m-%d %w'))

2018-08-09 4
  • 将日期转换成struct_time
 print(today.timetuple())

time.struct_time(tm_year=2018, tm_mon=8, tm_mday=9, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=221, tm_isdst=-1)

  • 创建日期对象
    print(datetime.date(2017,9,10))


2017-09-10

2)datetime类

 # 1)年月日时分秒毫秒
    date=datetime.datetime.today()
    print(date)
    # 2)获取小时
    print(date.hour)
    #3)获取分
    print(date.minute)
    #4)获取秒
    print(date.second)
    #5)获取毫秒
    print(date.microsecond)
    # 6)将时间戮转换成struct_time
    print(date.fromtimestamp(1533802816.9164076))
    # print(date.utcfromtimestamp(1533802816.9164076))
    # 7)获取当前时间
    print(datetime.datetime.now())
    # 8)将时间转换成struct_time格式
    print(date.timetuple())
    # 9)将字符串转换成struct_time格式
    print(date.strptime('今天是2018年8月9号','今天是%Y年%m月%d号'))
    #10)将时间转换成时间戮
    print(date.timestamp())
    print(date.date())

3)timedelta方法

    # 日期加一天
    print(today + datetime.timedelta(days=100))
    print(now_dt + datetime.timedelta(days=1))

    # 日期减两天
    print(today + datetime.timedelta(days=-2))
    print(now_dt + datetime.timedelta(days=-2))

    # 时间增加50分钟
    print(now_dt + datetime.timedelta(minutes=50))

    # 时间增加1000毫秒
    print(now_dt + datetime.timedelta(microseconds=1000))

你可能感兴趣的:(Day19-课堂笔记-time)