【python-日期和时间处理】datetime模块基本使用
1. 获取datetime对象
- 获取当前datetime对象
方法:
datetime.now(cls, tz=None) -> datetime参数说明:
tz:时区信息,不传该参数时,默认使用当地时区
示例代码:
now = datetime.now()
print(now) # 2023-01-05 09:38:43.084062
print(type(now)) # datetime.datetime
如果需要指定tz时区,可以通过pytz.timezone来指定,需要提供时区标识符,时区标识符可在"\Lib\site-packages\pytz\zoneinfo"文件夹下查看
- 示例代码:
import pytz
from datetime import datetime
dt_mexico = datetime.now(pytz.timezone('America/Mexico_City'))
print(dt_mexico) # 2023-01-04 20:18:46.943553-06:00
dt_shanghai = datetime.now(pytz.timezone('Asia/Shanghai')) # 上海和北京同属于东八区,因此可以用“Asia/Shanghai”来作为东八区的标识符
print(dt_shanghai) # 2023-01-05 10:18:46.943553+08:00
- 获取当前utc datetime对象
方法:
datetime.utcnow(cls) -> datetime示例代码:
from datetime import datetime
china_time = datetime.now()
utc_time = datetime.utcnow()
print(china_time) # 2023-01-05 10:30:26.716563
print(utc_time) # 2023-01-05 02:30:26.716563
北京属于东八区,比utc时间早8小时,即我们早上十点半的时候,正是utc时区中的凌晨两点半。
- 自定义datetime对象
2. datetime,str,timestamp相互转换
2.1 str 转 datetime 和 timestamp
- str转datetime
方法:
datetime.strptime(_date_string, _format) -> datetime参数说明:
- _date_string:时间字符串
- _format:时间解析格式
示例代码:
from datetime import datetime
beijing_time_str = "2023-01-05 11:45:33"
datetime_beijing = datetime.strptime(beijing_time_str, "%Y-%m-%d %H:%M:%S")
print(type(datetime_beijing)) # <class 'datetime.datetime'>
print(datetime_beijing) # 2023-01-05 11:45:33
- str转timestamp
。。。。。。
2.2 datetime 转 str 和 timestamp
- datetime对象 转 str
- 方法:
datetime.strftime(format) -> str - 示例代码:
from datetime import datetime
now = datetime.now()
now_str = now.strftime("%Y-%m-%d %H:%M:%S")
print(type(now_str)) # <class 'str'>
print(now_str) # 2023-01-05 12:09:04
- datetime对象 转 timestamp
- 方法:
datetime.timestampe() -> float - 示例代码
from datetime import datetime
now = datetime.now()
timestamp = now.timestamp()
print(type(timestamp)) # <class 'float'>
print(timestamp) # 1672900754.798144
2.3 timestamp 转 datetime对象 和 str
- timestamp 转 datetime
- 方法
datetime.fromstamp(timestamp, tz=None) -> datetime
- 示例代码
from datetime import datetime
timestamp = 1672899623
now = datetime.fromtimestamp(timestamp)
print(now) # 2023-01-05 14:20:23
print(type(now)) # <class 'datetime.datetime'>
- timestamp 转 utc datetime对象
- 方法
datetime.utcfromstamp(timestamp, tz=None) -> datetime
- 示例代码
from datetime import datetime
timestamp = 1672899623
now = datetime.utcfromtimestamp(timestamp)
print(now) # 2023-01-05 06:20:23
print(type(now)) # <class 'datetime.datetime'>
3. datetime实例方法
datetime.timestampe() -> float
- 示例代码
from datetime import datetime
now = datetime.now()
timestamp = now.timestamp()
print(type(timestamp)) # <class 'float'>
print(timestamp) # 1672900754.798144
datetime.timetuple() -> time.struct_time
- 示例代码
from datetime import datetime
now = datetime.now()
timetuple = now.timetuple()
print(type(timetuple)) # <class 'time.struct_time'>
print(timetuple) # time.struct_time(tm_year=2023, tm_mon=1, tm_mday=5, tm_hour=14, tm_min=44, tm_sec=3, tm_wday=3, tm_yday=5, tm_isdst=-1)
datetime.replace(year=None, month=None, day=None, hour=None, minute=None, second=None, microsecond=None, tzinfo=True, *, fold=None) -> datetime
- 示例代码
>>> from datetime import datetime
>>> now = datetime.now()
>>> now
datetime.datetime(2023, 1, 5, 14, 56, 10, 892657)
>>> now.replace(year=2022)
datetime.datetime(2022, 1, 5, 14, 56, 10, 892657)
4. datetime类方法
1.datetime.fromisocalendar(year, week, day) -> datetime
功能说明
从国际标准化日历中获得相应的datetime对象
示例代码
>>> datetime.fromisocalendar(2023, 1, 1)
datetime.datetime(2023, 1, 2, 0, 0) # 2023年中第1个星期的第1天是1月2号
datetime.fromisoformat(date_string) -> datetime
功能说明
将符合isoformat时间格式的字符串转为datetime对象。
isoformat指的是符合国际标准ISO8601的日期和时间表示方式。该标准旨在提供一套没有歧义的表示格式,并具有以下规则:
- Year first, followed by month, then the day, each separated by a hyphen ("-")(按年月日的顺序先后排列,并以'-'进行分隔)
- Numbers less than 10 preceded by a leading zero(小于10的数字前面加0)
示例代码
>>> from datetime import datetime
>>> datetime.fromisoformat("2022-01-05")
datetime.datetime(2022, 1, 5, 0, 0)
>>> datetime.fromisoformat("2022-01-05 15:24:23")
datetime.datetime(2022, 1, 5, 15, 24, 23)
>>> datetime.fromisoformat("2022-01-05T15:24:23")
datetime.datetime(2022, 1, 5, 15, 24, 23)
>>> datetime.fromisoformat("2022-01-05T15:24:23.434")
datetime.datetime(2022, 1, 5, 15, 24, 23, 434000)
【python-日期和时间处理】datetime模块基本使用的更多相关文章
- 日期和时间(datetime模块)
前言: 参考:https://blog.csdn.net/weixin_42232219/article/details/89838580 在 python 中,datetime 是对日期数据进行处理 ...
- Python之基本的日期与时间转换 datetime、 dateutil模块
简单举例datetime模块 from datetime import timedelta,datetime a = timedelta(days=2, hours=6) b = timedelta( ...
- Python 日期和时间 —— datetime
Python 日期和时间 —— datetime Python提供了多个内置模块用于操作日期时间,如calendar,time,datetime.calendar用于处理日历相关 :time提供的接口 ...
- Python:日期和时间的处理模块及相关函数
Python:日期和时间的处理模块及相关函数 Python 提供 time 模块和 calendar 模块用于格式化日期和时间. 一.时间戳 在Python中,时间戳是以秒为单位的浮点小数,它是指格林 ...
- Python 日期和时间(转)
Python 日期和时间 Python程序能用很多方式处理日期和时间.转换日期格式是一个常见的例行琐事.Python有一个 time 和 calendar 模组可以帮忙. 什么是Tick? 时间间隔是 ...
- (转)Python 日期和时间
转自http://www.runoob.com/python/python-date-time.html Python 日期和时间 Python 程序能用很多方式处理日期和时间,转换日期格式是一个常见 ...
- Python第十五天 datetime模块 time模块 thread模块 threading模块 Queue队列模块 multiprocessing模块 paramiko模块 fabric模块
Python第十五天 datetime模块 time模块 thread模块 threading模块 Queue队列模块 multiprocessing模块 paramiko模块 fab ...
- 【310】◀▶ Python 日期和时间
参考: python 时间日期计算 Python 日期和时间(菜鸟教程) 8.1. datetime — Basic date and time types python中datetime模块中dat ...
- Python日期和时间
日期和时间主要有两个库,datetime和time. datetime: 日期:datetime.date.today() 日期和时间:datetime.datetime.now() 1000天之后: ...
- Python 日期和时间_python 当前日期时间_python日期格式化
Python 日期和时间_python 当前日期时间_python日期格式化 Python程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能. Python 提供了一个 time 和 cal ...
随机推荐
- 不为人知的网络编程(十六):深入分析与解决TCP的RST经典异常问题
本文由腾讯技术kernel分享,原题"TCP经典异常问题探讨与解决",下文进行了排版和内容优化等. 1.引言 TCP的经典异常问题无非就是丢包和连接中断,在这里我打算与各位聊一聊T ...
- 开源即时通讯IM框架 MobileIMSDK v6.2 发布
一.更新内容简介 本次更新为次要版本更新,进行了若干优化(更新历史详见:码云 Release Nodes).可能是市面上唯一同时支持 UDP+TCP+WebSocket 三种协议的同类开源IM框架. ...
- WxPython跨平台开发框架之图标选择界面
在使用 wxPython 开发跨平台桌面应用程序时,创建一个图标选择界面通常用于让用户从图标资源库中选择图标,我们可以把图标分为自定义的图标资源和系统的图标资源两大类,最终我们把它们整合一起使用,在框 ...
- Chrome谷歌浏览器自动升级后页面字体过小
谷歌浏览器使用一段时间后系统自动升级后页面字体突然变小,如何进行设置呢,如下 1.在页面右上角选择浏览器设置-外观-自定义字体-设置字号等其他需要配置的参数即可
- 如何高效发布Android AAR包到远程Maven仓库
本文同步发布于公众号:移动开发那些事如何高效发布Android AAR包到远程Maven仓库 1 背景 在Gradle 7.0之前的版本中,maven插件是发布AAR包到远程Maven仓库的主要工具. ...
- spring-springMVC-总结列表
Spring 的优良特性 非侵入式:基于Spring开发的应用中的对象可以不依赖于Spring的API 控制反转:IOC--Inversion of Control,指的是将对象的创建权交给 Spri ...
- code-generate(一个通用的代码生成工具)开源项目介绍
code-generate是一个通用的代码生成工具,支持从各种元数据,通过定义模板生成需要的代码,减少低级重复的编码工作.目前支持通过数据库元数据生成业务对象.数据访问对象等. 项目地址 gitee: ...
- Web访问过程
WEB访问的具体过程: 命令 浏览器中查看DNS chrome://net-internals/#dns 查看本地DNS ipconfig/displaydns 查看HOST文件 C:\Windows ...
- 从挑战到突破:HBlock定义智算存储新范式!
近日,由DOIT传媒主办,中国计算机学会信息存储专委会.武汉光电国家研究中心.百易存储研究院支持的2024中国数据与存储峰会在北京召开.此次峰会以"智数据 AI未来"为主题,天翼云 ...
- Hbuilder使用快捷键
Hbuilder的使用 1.Hbuilder基本操作设置基本外观文字大小,申请账号.2.Hbuilder快捷键- 新建菜单: ctrl + N- 新建: ctrl + N- 关闭: ctrl ...