Python date,datetime,time等相关操作总结
date,datetime,time等相关操作总结
by:授客 QQ:1033553122
测试环境:
Python版本:Python 3.3.2
代码实践:
__author__ = '授客'
import
time
from
datetime
import
date
from
datetime
import
timedelta
from
datetime
import
datetime
#####date#####
#
获取当前本地日期(date对象)
#
方法1
today
= date.fromtimestamp(time.time())
print('方法1:当前本地日期(date对象)\n类型:',
type(today),
'value:',
today)
#
方法2
today
= date.today()
print('方法2:当前本地日期(date对象)\n类型:',
type(today),
'value:',
today)
#
获取本地当前日期(字符串,即转date对象为对应字符串)
today_str
= today.strftime('%Y-%m-%d')
print('当前本地日期(字符串)\n类型:',
type(today_str),
'value:',
today_str)
today_str
= today.ctime()
print('当前本地日期(字符串)\n类型:',
'value:',today_str)
#
转换本地当前日期为时间戳(秒)
second_for_today
= int(time.mktime(today.timetuple()))
print('当前本地日期对应的时间戳(秒):',
second_for_today)
#
转换本地当前日期为时间戳(毫秒)
millisecond_for_today
= int(time.mktime(today.timetuple())*1000)
print('当前本地日期对应的时间戳(毫秒):',
millisecond_for_today)
#
获取本地昨日日期
yesterday
= today - timedelta(days=1)
print('昨日本地日期(date对象)\n类型:',
type(yesterday),
'value:',
yesterday)
#
获取本地当前日期对应的星期
weekday
= today.weekday()
print('当前本地日期对应的星期:',
weekday)
#0~6 ->周一到周日
#
时间戳(秒)转换为date对象
mydate
= date.fromtimestamp(1512144000)
print('时间戳(秒)转换为date对象:',
type(mydate), mydate)
print('\n\n')
#####datetime#####
#
获取本地当前日期时间(datetime对象)
#
方法1:
date_time
= datetime.today()
print('方法1:当前本地日期时间(datetime对象)\n类型:',
type(date_time),
'value:',
date_time)
#
方法2:
date_time
= datetime.now()
print('方法2:当前本地日期时间(datetime对象)\n类型:',
type(date_time),
'value:',
date_time)
#
获取本地当前日期时间(字符串,即转datetime对象为对应字符串)
date_time_str
= date_time.strftime('%Y-%m-%d
%H:%M:%S')
print('当前本地日期时间(字符串)类型:',
'value:',
date_time_str)
#
获取本地昨日当前时间(datetime对象)
yesterday_date_time
= date_time - timedelta(days=1)
print('方法2:昨日本地当前时间(datetime对象)\n类型:',
type(yesterday_date_time),
'value:',
yesterday_date_time)
#
转换本地当前日期时间为时间戳(秒)
millisecond_for_date_time
= int(time.mktime(date_time.timetuple()))
print('当前本地日期时间对应的时间戳(秒):',
millisecond_for_date_time)
#
获取本地日期对应的星期
weekday
= date_time.weekday()
print('当前本地日期时间对应的星期:',
weekday)
#0~6 ->周一到周日
#
时间戳(秒)转换为datetime对象
mydatetime
= datetime.fromtimestamp(1512226650)
print('时间戳(秒)转换为datetime对象:',
type(mydatetime), mydatetime)
#
日期时间字符串表达式转datetime对象
mydatetime
= datetime.strptime('2017-12-02
22:57:30',
'%Y-%d-%m %H:%M:%S')
print('日期时间字符串表达式转datetime对象\n类型:',
type(mydatetime),
'value:',
mydatetime)
print('\n\n')
#####time模块的time#####
#
获取本地当前时间对应的时间戳(秒)
#方法1
second_for_current_time
= int(time.time())
print('方法1:本地当前时间对应的时间戳(秒):',
second_for_current_time)
#方法2
time_tuple
= time.localtime()
second_for_current_time
= int(time.mktime(time_tuple))
print('方法2:本地当前时间对应的时间戳(秒):',
second_for_current_time)
#
获取本地当前时间(字符串)
time_tuple
= time.localtime()
print('timetuple:',
time_tuple)
time_str
= time.strftime('%Y-%m-%d
%H:%M:%S',time_tuple)
print('本地当前时间(字符串):',
time_str)
time_str
= time.asctime(time_tuple)
print('本地当前时间(字符串):',
time_str)
#
时间戳(秒)转换为本地timetuple
time_tuple
= time.localtime(1512226650)
print('时间戳转为本地timetuple:\n',
time_tuple)
#
时间字符串表达式转本地timetuple元组
mytimetuple
= time.strptime('2017-12-02
22:57:30',
'%Y-%d-%m %H:%M:%S')
print('时间字符串表达式转本地timetuple对象:\n',
mytimetuple)
struct_time
= time.strptime('30
Nov 00',
'%d %b %y')
print('时间字符串表达式转本地timetuple对象:\n',
struct_time)
# 获取当前日期所在周的周一
weekday1_date
= date.today() - timedelta(days=date.today().isoweekday())
+ timedelta(days=1)
weekday1
= time.strftime('%Y%m%d',
weekday1_date.timetuple())
#
获取当前日期所在周的周七
weekday7_date
= date.today() - timedelta(days=date.today().isoweekday())
+ timedelta(days=7)
weekday7
= time.strftime('%Y%m%d',
weekday7_date.timetuple())
dateRange1
= weekday1 +
'-'
+ weekday7
print(dateRange1)
运行结果:
方法1:当前本地日期(date对象)
类型: value: 2017-12-04
方法2:当前本地日期(date对象)
类型: value: 2017-12-04
当前本地日期(字符串)
类型: value: 2017-12-04
当前本地日期(字符串)
类型: value: Mon Dec 4 00:00:00 2017
当前本地日期对应的时间戳(秒): 1512316800
当前本地日期对应的时间戳(毫秒): 1512316800000
昨日本地日期(date对象)
类型: value: 2017-12-03
当前本地日期对应的星期: 0
时间戳(秒)转换为date对象: 2017-12-02
方法1:当前本地日期时间(datetime对象)
类型: value: 2017-12-04 00:09:24.531363
方法2:当前本地日期时间(datetime对象)
类型: value: 2017-12-04 00:09:24.531363
当前本地日期时间(字符串)类型: value: 2017-12-04 00:09:24
方法2:昨日本地当前时间(datetime对象)
类型: value: 2017-12-03 00:09:24.531363
当前本地日期时间对应的时间戳(秒): 1512317364
当前本地日期时间对应的星期: 0
时间戳(秒)转换为datetime对象: 2017-12-02 22:57:30
日期时间字符串表达式转datetime对象
类型: value: 2017-02-12 22:57:30
方法1:本地当前时间对应的时间戳(秒): 1512317364
方法2:本地当前时间对应的时间戳(秒): 1512317364
timetuple: time.struct_time(tm_year=2017, tm_mon=12, tm_mday=4, tm_hour=0, tm_min=9, tm_sec=24, tm_wday=0, tm_yday=338, tm_isdst=0)
本地当前时间(字符串): 2017-12-04 00:09:24
本地当前时间(字符串): Mon Dec 4 00:09:24 2017
时间戳转为本地timetuple:
time.struct_time(tm_year=2017, tm_mon=12, tm_mday=2, tm_hour=22, tm_min=57, tm_sec=30, tm_wday=5, tm_yday=336, tm_isdst=0)
时间字符串表达式转本地timetuple对象:
time.struct_time(tm_year=2017, tm_mon=2, tm_mday=12, tm_hour=22, tm_min=57, tm_sec=30, tm_wday=6, tm_yday=43, tm_isdst=-1)
时间字符串表达式转本地timetuple对象:
time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)
20171204-20171210
作者:授客
微信/QQ:1033553122
全国软件测试QQ交流群:7156436
Git地址:https://gitee.com/ishouke
友情提示:限于时间仓促,文中可能存在错误,欢迎指正、评论!
作者五行缺钱,如果觉得文章对您有帮助,请扫描下边的二维码打赏作者,金额随意,您的支持将是我继续创作的源动力,打赏后如有任何疑问,请联系我!!!
微信打赏
支付宝打赏 全国软件测试交流QQ群
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库