企业网站建设义乌,做彩票网站,企业网站优化内容,组织建设小标题datetime 对象格式化为字符串
标准转换格式符号#xff1a;
%a 本地星期的短名称 如#xff1a;Sun, Mon, ..., Sat (en_US); So, Mo, ..., Sa (de_DE)
%A 本地星期全名称 如 #xff1a;Sunday, Monday, ..., Saturday (en_US);Sonntag, Montag, ..., Samstag (de_DE)
%w…datetime 对象格式化为字符串
标准转换格式符号
%a 本地星期的短名称 如Sun, Mon, ..., Sat (en_US); So, Mo, ..., Sa (de_DE)
%A 本地星期全名称 如 Sunday, Monday, ..., Saturday (en_US);Sonntag, Montag, ..., Samstag (de_DE)
%w 星期的数字表示0表示周日6表示周六 如0,1,26
%d 日的数字表示并且使用0来填补(0-9),如01, 02, ..., 31
%b 月份的短名称显示英文单词简写如Jan, Feb, ..., Dec (en_US);Jan, Feb, ..., Dez (de_DE)
%B 月份的全名称显示如January, February, ..., December (en_US);Januar, Februar, ..., Dezember (de_DE)
%m 月份数字显示并且用0来补全如01, 02, ..., 12
%y 年份的数字表示两位表示如00, 01, ..., 99
%Y 年份的数字表示四位表示如0001, 0002, ..., 2013, 2014, ..., 9998, 9999
%H 24小时制表示如00, 01, ..., 23
%I 12小时制表示如01, 02, ..., 12
%p 上下午的表示如AMPM
%M 分钟并且用0补全(0-9)如00, 01, ..., 59
%S 秒钟并且用0补全(0-9)如00, 01, ..., 59
%f 微妙表示如000000, 000001, ..., 999999
%z 时区偏移量如(empty), 0000, -0400, 1030
%Z 时区名称如(empty), UTC, EST, CST
%j 全年中的哪一个用0补全如001, 002, ..., 366
%U 全年中的第几个星期sunday为第一天如00, 01, ..., 53
%W 全年中的第几个星期monday为第一天如00, 01, ..., 53
%c 本地时间如06/24/17 15:43:10
%x 本地日期如08/16/88 (None);
%X 本地时间如21:30:00 (en_US);
%% %符号示例
from datetime import datetimedt datetime.now()
st datetime.strftime(dt, %Y-%m-%d %H:%M:%S %p) # 2019-11-08 15:48:25 PM
print(st)# 全年第几周第几天
datetime.strftime(dt,%Y-%m-%d %H:%M:%S %p %U %j) # 2019-11-08 15:51:27 PM 44 312常用类
datetime.date日期类datetime.time时间类datetime.datetime时间类datetime.timedelta时间间隔两个时间点之间长度datetime.tzinfo时区相关
date 类
表示一个日期由年、月、日组成。
参数范围
year[1, 9999] 年即 [MINYEAR, MAXYEAR]month[1, 12]不是从 0 开始day根据月份而定 常用方法和属性
import datetimed datetime.date
# 获取 date 对象能表示的最大、最小日期d.max
datetime.date(9999, 12, 31)# 日期最小单位天
d.resolution# 本地当前日期d.today()
datetime.date(2019, 11, 8)# 根据给定时间戳返回一个 date 对象此处用 time.time() 获取时间戳
d.fromtimestamp(time.time())# 将Gregorian日历时间转换为date对象Gregorian 类似中国的农历
d.fromordinal(ordinal)其他方法和属性
import datetime d datetime.date.today()
# 获取当前时间的年、月、日year、month、dayd.year
2019# 替换时间原对象不变d1 d.replace(2018, 12, 30)d1
datetime.date(2018, 12, 30)d
datetime.date(2019, 11, 8)# 返回星期几星期一为 0d.weekday()
4 d.isoweekday() # 返回星期几星期一为 1
5 d.isocalendar() # 元祖
(2019, 45, 5) d.isoformat() # 字符串
2019-11-08
d.strftime(fmt) # 自定义格式化方式# 日期与日期间隔进行运算d datetime.timedelta(2) # 加 2 天
datetime.date(2019, 11, 10)time 类
time 类表示时间由时、分、秒、微妙组成。
参数
hour范围 0 - 24minute范围 0 - 60second0 - 60microsecond微秒0 -1000000tzinfo表示时区信息 d2 datetime.timed2
class datetime.timed2.min
datetime.time(0, 0)d2.max
datetime.time(23, 59, 59, 999999)d2.resolution
datetime.timedelta(0, 0, 1)常用方法和属性 d3 datetime.time(21, 18, 19)d3.hour
21
d3.tzinfo # 时区
d3.isoformat() # 获取其字符串形式
d3.replace(hour20) # 替换
d3.strftime(%I:%M:%S %p) # 字符串格式化自定义格式datetime 类
常用属性和方法
datetime.min、datetime.maxdatetime # 所能表示的最小值与最大值
datetime.resolution # datetime最小单位
datetime.today() # 返回一个表示当前本地时间的datetime对象
datetime.now([tz]) # 返回一个表示当前本地时间的datetime对象如果提供了参数tz则获取tz参数所指时区的本地时间
datetime.utcnow() # 返回一个当前utc时间的datetime对象
datetime.fromtimestamp(timestamp[, tz]) # 根据时间戮创建一个datetime对象参数tz指定时区信息
datetime.utcfromtimestamp(timestamp) # 根据时间戮创建一个datetime对象
datetime.combine(date, time) # 根据date和time创建一个datetime对象
datetime.strptime(date_string, format) # 将格式字符串转换为datetime对象data 与 time 类没有提供该方法。示例一 from datetime import datetime d datetime.today() d
datetime.datetime(2019, 11, 19, 17, 59, 42, 191504) d.strftime(%Y-%m-%d) # 将当前时间格式化字符串
2019-11-19 d.strptime(2019-11-19, %Y-%m-%d) 示例二 from datetime import datetime, timezone datetime.today()
datetime.datetime(2019, 11, 19, 18, 11, 35, 988223) datetime.now()
datetime.datetime(2019, 11, 19, 18, 11, 45, 630445) datetime.now(timezone.utc)
datetime.datetime(2019, 11, 19, 10, 11, 58, 293658, tzinfodatetime.timezone.utc) datetime.utcnow()
datetime.datetime(2019, 11, 19, 10, 12, 11, 356732) import time datetime.fromtimestamp(time.time()) # 时间戳转换为 datetime
datetime.datetime(2019, 11, 19, 18, 12, 39, 124737) dt datetime.now() dt.year
2019 dt.timestamp()
1574158404.052619 dt.date()
datetime.date(2019, 11, 19) dt.time()
datetime.time(18, 13, 24, 52619) dt.replace(2018)
datetime.datetime(2018, 11, 19, 18, 13, 24, 52619) dt.toordinal() # 返回日期是是自 0001-01-01 开始的第多少天 737382 dt.weekday() # 返回日期是星期几[0, 6]0表示星期一 1 dt.ctime()
Tue Nov 19 18:13:24 2019 timedelta 类
表示两个时间的时间差date 或 datetime 相减能够得到一个 timedelta
class datetime.timedelta(days0, seconds0, microseconds0, milliseconds0, minutes0, hours0, weeks0)所有参数可选且默认都是0参数的值可以是整数浮点数正数或负数。
millisecond毫秒 转换成 1000 microseconds微秒minute 转换成 60 secondshour 转换成 3600 secondsweek转换成 7 days
三个参数的取值范围分别为
0 microseconds 10000000 seconds 3600*24 (the number of seconds in one day)-999999999 days 999999999
timedelta 类定义的类属性
timedelta.min时间间隔对象的最小值,即 timedelta(-999999999).timedelta.max时间间隔对象的最大值即 timedelta(days999999999, hours23, minutes59, seconds59, microseconds999999).timedelta.resolution时间间隔的最小单位,即 timedelta(microseconds1).
示例 from datetime import datetimefrom datetime import timedeltatimedelta(365).total_seconds() # 一年总共秒数
31536000.0dt datetime.now()dt timedelta(3) # 三天后
datetime.datetime(2019, 11, 22, 18, 19, 31, 4088) dt timedelta(-3) # 三天前
datetime.datetime(2019, 11, 16, 18, 19, 31, 4088)dt timedelta(hours-3) # 三小时前
datetime.datetime(2019, 11, 19, 15, 19, 31, 4088)dt timedelta(hours-3, seconds30) # 三小时三十秒前
datetime.datetime(2019, 11, 19, 15, 20, 1, 4088)dt2 dt timedelta(hours1, seconds30)dt2
datetime.datetime(2019, 11, 19, 19, 20, 1, 4088)(dt2 - dt).seconds # 计算秒数
3630参考文档
https://www.jb51.net/article/102941.htmhttp://www.liujiangblog.com/course/python/69