10.26 时间模块

时间模块

import time          #导入模块time
import datetime   #导入模块datetime

================time=================
时间格式:时间戳, struct_time

1.获取当前时间(时间戳)

时间戳:一个时间到1970年1月1日0点0分0秒的时间差。单位是秒

a. 方便对时间进行加密(保存时间前进行额外的运算)
b. 节省内存(数据库) 1540518823.7941608(8字节)

time1 = time.time()

print(time1, type(time1))

2.localtime

localtime(): 获取当前时间(struct_time)
localtime(时间戳): 将指定的时间戳转换成struct_time

struct_time:
tm_year -> 年
tm_mon -> 月
tm_mday -> 日
tm_hour -> 时
tm_min -> 分
tm_sec -> 秒
tm_wday -> 星期(值的范围是06,分别对应周一周天)
tm_yday -> 当前时间是今年的第几天
tm_isdst -> 是否是夏令时

time2 = time.localtime()
print(time2, time2.tm_year, time2.tm_mon)

time3 = time.localtime(100)
print('%d-%d-%d' % (time3.tm_hour, time3.tm_min, time3.tm_sec))

3.strftime: 将时间(struct_time)以指定的格式转换成字符串

strftime(格式, 时间) --> 返回时间字符串

格式:是时间字符串(含有时间格式符的字符串)
%Y --> 年
%m --> 月(数字)
%d --> 日
%H --> 时
%M --> 分
%S --> 秒

%a -- 星期(英文缩写)
%A --> 星期(英文)
%h --> 月(英文缩写)

str_time1 = time.strftime('%Y年%m月%d日 %H:%M:%S %a', time2)
print(str_time1)

4.strptime: 将字符串转换成时间

strptime(字符串, 格式)

time4 = time.strptime('2018-06-13 01:34:02', '%Y-%m-%d %H:%M:%S')
print(time4)

====================datetime.datetime======

from datetime import datetime, time, date
#从datetime模块中导入datetime,time,date类

date: 可以表示年月日
time类:可以表示时分秒
datetime类:可以表示年月日时分秒

date类

对象属性:day,month,year

date1 = date(2018, 10, 26)
print(date1.year, date1.month, date1.day)

类方法:

fromtimestamp(时间戳) --> 将时间戳转换成日期(date对象)
tody() --> 获取当前日期
"""
date2 = date.fromtimestamp(100)
print(date2, type(date2))

date3 = date.today()
print(date3, type(date3))

# date4 = date.fromordinal(366)
# print(date4, type(date4))

对象方法:
ctime() --> 将日期对象以 '%a %h %d %H:%M:%S %Y' 格式转换成字符串
strftime(时间格式字符串) --> 将日期对象以指定的格式转换成字符串
timetuple() --> 将日期转换成struct_time
weekday()/isoweekday() --> 获取星期值

t = date3.ctime()
print(t, type(t))

t = date3.strftime('%Y/%m/%d')
print(t)

t = date3.timetuple()
print(t)

t = date3.weekday()
print(t)

t = date3.isoweekday()
print(t)
datetime4 = datetime.now()
# 将时间转换成时间戳
print(datetime4.timestamp())

============时间的加减操作============

date对象和datetime的对象都支持加减操作
date对象 + timedelta对象

from datetime import timedelta

date1 = date(2018, 1, 1)
print(date1)
new_date = date1 - timedelta(days=1)
new_date = date1 + timedelta(days=10)
print(new_date)

date2 = datetime(2018, 12, 31, hour=23, minute=59)
print(date2)
new_date = date2 + timedelta(minutes=1)
print(new_date)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • python——时间与时间戳之间的转换 对于时间数据,如2016-05-05 20:28:54,有时需要与时间戳进...
    初来的雨天阅读 5,550评论 0 3
  • 常用模块 认识模块 什么是模块 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文...
    go以恒阅读 2,014评论 0 6
  • 1995年9月8日,21年前的秋季,她身袭红衣,在自己的公寓里,因病去世,被房东发现。 那天,正值中秋佳节。 张爱...
    NJU詩樂阅读 446评论 2 5
  • 暖风轻轻的熏染着大地的每一个角落,枝头上流淌下来的绿色,让人的心忽而沉静了。 思绪就像蚕丝一样越拉越长,惊扰了春光...
    寻一束光阅读 237评论 2 1
  • 东子是我的大学同学,为人老实幽默,乐于助人,城府很浅。他可以简单到把所有的一切都写在脸上,如果你愿意花上一点时间去...
    承言草右阅读 614评论 0 0