百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

一文了解 Python 中的 datetime 的基本操作

wptr33 2024-12-06 20:05 36 浏览

Python 中有一个名为 DateTime 的内置模块,可以以多种方式处理日期和时间。在本文中,我们将介绍 Python 中的基本 DateTime 操作。

datetime.date()

使用 date() 生成日期对象,表示具有年、月和日的日期。

「语法格式:」

datetime.date( year, month, day)

strftime 方法以各种格式打印日、月和年。

from datetime import date
# 创建日期对象
current = date.today() 
# 输出当前年、月、日
print("当前日:", current.day)
print("当前月份:", current.month)
print("当前年份:", current.year)
# 以不同格式输出日期
format1 = current.strftime("%m/%d/%y")
print("格式1:", format1)  
format2 =  current.strftime("%b-%d-%Y")
print("格式2:", format2)
format3 = current.strftime("%d/%m/%Y")
print("格式3:", format3)     
format4 =  current.strftime("%B %d, %Y")
print("格式4:", format4)

输出:

当前日: 20
当前月份: 10
当前年份: 2023
格式1: 10/20/23
格式2: Oct-20-2023
格式3: 20/10/2023
格式4: October 20, 2023

「时间日期格式化符号:」

%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%f 微秒,以6位数字表示(000001)
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%z UTC 偏移量
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%% %号本身

datetime.time()

使用 time() 生成的时间对象,表示本地时间。

「语法格式:」

datetime.time(hour, minute, second, microsecond)

from datetime import time
# 创建时间对象
defaultTime = time()
print("默认小时:", defaultTime.hour)
print("默认分钟:", defaultTime.minute)
print("默认秒:", defaultTime.second)
print("默认毫秒:", defaultTime.microsecond)
# 设置参数
time= time(hour=10, minute= 5, second=25, microsecond=55)
print("time:", time)

输出:

默认小时: 0
默认分钟: 0
默认秒: 0
默认毫秒: 0
time: 10:05:25.000055

datetime.datetime()

datetime.datetime() 显示日期和时间的组合。

from datetime import datetime
# 创建对象
current = datetime.now()
print(current)
print("日:", current.day)
print("月:", current.month)
print("年:", current.year)
print("时:", current.hour)
print("分:", current.minute)
print("秒:", current.second)
print("时间戳:", current.timestamp())
time = current.strftime("%H:%M:%S")
print("当前时间:", time)

输出:

2023-10-20 18:00:47.202527
日: 20
月: 10
年: 2023
时: 18
分: 0
秒: 47
时间戳: 1697796047.202527
当前时间: 18:00:47

datetime.timedelta()

datetime.timedelta() 返回一个时间,该时间表示两个日期、时间之间的差异。

from datetime import timedelta, datetime
date_time = datetime.now() 
print("当前日期时间:", date_time)
ten_days_after= date_time + timedelta(days = 10)
print('10天之后的日期时间:',ten_days_after)
ten_days_before= date_time - timedelta(days = 10)
print('10天之前的日期时间:',ten_days_before)
one_year_before_today= date_time + timedelta(days = 365)
print('一年后的日期时间:', one_year_before_today)
one_year_after_today= date_time - timedelta(days = 365)
print('一年前的日期时间:', one_year_after_today)
time_after_one_min = date_time + timedelta(seconds=10) * 6
print('一分钟之后的日期时间:', time_after_one_min)
# 正数时间差相当于timedelta(days=999999999, hours=23, minutes=59, seconds=59, microseconds=999999)
print("正数时间差 : ",timedelta.max)
# 负数时间差相当于timedelta(-999999999)
print("负数时间差:",timedelta.min)
# 两个时间的最小差值相当于timedelta(microseconds=1)。
print("最小差值:",timedelta.resolution)
print('一年的秒数:',timedelta(days = 365).total_seconds())

输出:

当前日期时间: 2023-10-20 18:42:04.593126
10天之后的日期时间: 2023-10-30 18:42:04.593126
10天之前的日期时间: 2023-10-10 18:42:04.593126
一年后的日期时间: 2024-10-19 18:42:04.593126
一年前的日期时间: 2022-10-20 18:42:04.593126
一分钟之后的日期时间: 2023-10-20 18:43:04.593126
正数时间差 :  999999999 days, 23:59:59.999999
负数时间差: -999999999 days, 0:00:00
最小差值: 0:00:00.000001
一年的秒数: 31536000.0

?

文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈!

?

相关推荐

oracle数据导入导出_oracle数据导入导出工具

关于oracle的数据导入导出,这个功能的使用场景,一般是换服务环境,把原先的oracle数据导入到另外一台oracle数据库,或者导出备份使用。只不过oracle的导入导出命令不好记忆,稍稍有点复杂...

继续学习Python中的while true/break语句

上次讲到if语句的用法,大家在微信公众号问了小编很多问题,那么小编在这几种解决一下,1.else和elif是子模块,不能单独使用2.一个if语句中可以包括很多个elif语句,但结尾只能有一个...

python continue和break的区别_python中break语句和continue语句的区别

python中循环语句经常会使用continue和break,那么这2者的区别是?continue是跳出本次循环,进行下一次循环;break是跳出整个循环;例如:...

简单学Python——关键字6——break和continue

Python退出循环,有break语句和continue语句两种实现方式。break语句和continue语句的区别:break语句作用是终止循环。continue语句作用是跳出本轮循环,继续下一次循...

2-1,0基础学Python之 break退出循环、 continue继续循环 多重循

用for循环或者while循环时,如果要在循环体内直接退出循环,可以使用break语句。比如计算1至100的整数和,我们用while来实现:sum=0x=1whileTrue...

Python 中 break 和 continue 傻傻分不清

大家好啊,我是大田。...

python中的流程控制语句:continue、break 和 return使用方法

Python中,continue、break和return是控制流程的关键语句,用于在循环或函数中提前退出或跳过某些操作。它们的用途和区别如下:1.continue(跳过当前循环的剩余部分,进...

L017:continue和break - 教程文案

continue和break在Python中,continue和break是用于控制循环(如for和while)执行流程的关键字,它们的作用如下:1.continue:跳过当前迭代,...

作为前端开发者,你都经历过怎样的面试?

已经裸辞1个月了,最近开始投简历找工作,遇到各种各样的面试,今天分享一下。其实在职的时候也做过面试官,面试官时,感觉自己问的问题很难区分候选人的能力,最好的办法就是看看候选人的github上的代码仓库...

面试被问 const 是否不可变?这样回答才显功底

作为前端开发者,我在学习ES6特性时,总被const的"善变"搞得一头雾水——为什么用const声明的数组还能push元素?为什么基本类型赋值就会报错?直到翻遍MDN文档、对着内存图反...

2023金九银十必看前端面试题!2w字精品!

导文2023金九银十必看前端面试题!金九银十黄金期来了想要跳槽的小伙伴快来看啊CSS1.请解释CSS的盒模型是什么,并描述其组成部分。...

前端面试总结_前端面试题整理

记得当时大二的时候,看到实验室的学长学姐忙于各种春招,有些收获了大厂offer,有些还在苦苦面试,其实那时候的心里还蛮忐忑的,不知道自己大三的时候会是什么样的一个水平,所以从19年的寒假放完,大二下学...

由浅入深,66条JavaScript面试知识点(七)

作者:JakeZhang转发链接:https://juejin.im/post/5ef8377f6fb9a07e693a6061目录...

2024前端面试真题之—VUE篇_前端面试题vue2020及答案

添加图片注释,不超过140字(可选)...

今年最常见的前端面试题,你会做几道?

在面试或招聘前端开发人员时,期望、现实和需求之间总是存在着巨大差距。面试其实是一个交流想法的地方,挑战人们的思考方式,并客观地分析给定的问题。可以通过面试了解人们如何做出决策,了解一个人对技术和解决问...