当前位置: 首页 > news >正文

python中使用日期和时间差:datetime模块

datetime模块的表示时间的有

datetime.datetime #时间包含年月日时分秒毫秒
datetime.date #时间只包含年月日
datetime.time #只包含时分秒

获取当前时间

import datetime
now = datetime.datetime.now()
print(now)

得到
在这里插入图片描述
atetime中的年月日时分秒可以分别取出来

import datetime
now = datetime.datetime.now()

print(nowdate.year)  #年
print(nowdate.month) #月
print(nowdate.day) #日
print(nowdate.hour) #时
print(nowdate.second) #分

得到
在这里插入图片描述
星期几

import datetime
now = datetime.datetime.now()

print(now.weekday())

得到
在这里插入图片描述
值0表示日期是星期一

星期
星期一0
星期二1
星期三2
星期四3
星期五4
星期六5
星期日6

datetime.date获得当前日期

import datetime
date_now = datetime.date.today()
print(date_now)

得到
在这里插入图片描述
其他

import datetime
date_now = datetime.date.today()
print(date_now.weekday())

print(date_now. isocalendar()) #当期日期在一年中的第几周和星期

date_now.weekday()输出:0
0-6表示星期一到星期日
date_now. isocalendar()输出下图。表示日期是2025年第8周星期二:
在这里插入图片描述

转换

文本转换为datetime

import datetime
 
date_time_obj1 = datetime.datetime(2023,7,19,15,30,0)
date_string = "2023-07-19 15:30:00"
format_code = "%Y-%m-%d %H:%M:%S"
date_time_obj2 = datetime.datetime.strptime(date_string, format_code)
print(date_time_obj1)
print(date_time_obj2)

得到
在这里插入图片描述

文本转换为date

a_date = datetime.date(2000, 1, 1)
print(a_date)

得到
在这里插入图片描述

datetime转换为文本

import datetime
now = datetime.datetime.now()
out_str = now.strftime("%Y-%m-%d")  #%Y-%m-%d %H:%M:%S
#格式化字符    %Y 四位数年;%y 2位数年;%H 24小时制小时;%h 12小时制小时
# %w 星期几[0(星期天),6];
# %U 每年的第几周[00,53],星期天被认为是每周第一天,每年第一个星期天之前认为是第0周
# %W 每年的第几周[00,53],星期一被认为是每周第一天,每年第一个星期一之前认为是第0周
# %z 时区,返回 +HHMM或-HHMM的UTC时区偏移量,如果时区为naive,则返回空字符串
# %F %Y-%m-%d 的简写,例如 2012-4-18
# %D %m/%d/%y 的简写,例如04/18/12
print(out_str)

得到
在这里插入图片描述

date转换为文本

import datetime
date_now = datetime.date.today()
out_str = date_now.strftime("%Y-%m-%d")  #%Y-%m-%d 年月日
print(out_str)

得到
在这里插入图片描述

从时间截转化为datetime和date

import datetime
import time 
now = time.time() #得到时间戳,单位是float 
now2 = datetime.datetime.fromtimestamp(now) #转换为datetime
now3 = datetime.date.fromtimestamp(now) #得到date日期,比如 2024-01-19 
print(now) #输出
print(now2)
print(now3)

print(now2.timestamp()) #datetime转换为timestamp

得到
在这里插入图片描述

datetime转换为 date

import datetime

now = datetime.datetime.now() #得到datetime
date_now = now.date() #转换为date,舍弃时分秒
print(date_now)

得到
在这里插入图片描述

date转换为datetime

import datetime
date_obj = datetime.date(2023, 7, 19)
datetime_obj = datetime.datetime(date_obj.year, date_obj.month, date_obj.day, 23, 59, 59)
print(datetime_obj)

得到
在这里插入图片描述

时间间隔

import datetime
now = datetime.now()
delta = datetime.timedelta(days=31) #时间差为31天
date2 = now - delta  #减少31天

delta = datetime.timedelta(days=-31) #时间差为负31天
date2 = now + delta  #同样是减少31天

delta = datetime.timedelta(days=1) #days可以是正、负值
参数可以是

参数说明
days
weeks
hours小时
minutes分钟
seconds
microseconds毫秒
milliseconds微秒

delta的属性
delta.days #时间差之中的天数
delta.seconds #时间差中的秒数

相关文章:

  • 2011年下半年软件设计师考试上午题真题的详细知识点分类整理(附真题及答案解析)
  • Python 植物大战僵尸
  • 地面沉降监测,为地质安全保驾护航
  • 使用SHOW PROCESSLIST和SHOW ENGINE INNODB STATUS排查mysql锁等待问题
  • mysql 存储空间增大解决方案
  • 什么是KL散度:概率分布的差异(筛子1/6情况下KL为:0)
  • mysql快照读当前读
  • 考研操作系统---磁盘
  • 【Zookeeper如何实现分布式锁?】
  • 【怎么使用Redis实现一个延时队列?】
  • nnUNet V2修改网络——加入GAB模块
  • 使用docker部署NextChat,使用阿里云、硅机流动、deepseek的apikey
  • Spring Boot项目接收前端参数的11种方式
  • Effective C++读书笔记——item50(什么时候替换new和delete)
  • 红黑树(原理)c++
  • 使用linux脚本部署discuz博客(详细注释版)
  • IMX6ULL的公板的以太网控制器(MAC)与物理层(PHY)芯片(KSZ8081RNB)连接的原理图分析(包含各引脚说明以及工作原理)
  • Cursor 入门教程与最佳实践指南
  • C#中反射的原理介绍及常见的应用场景介绍
  • ResNet 为什么能解决网络退化问题?通过图片分类案例进行验证
  • 复旦建校120周年大型义诊举行,百余名专家服务市民超三千人次
  • 小米汽车机盖门陷谈判僵局,车主代表称小米表示“退订会造成崩塌”
  • 四川甘孜炉霍县觉日寺管委会主任呷玛降泽被查
  • 鸿海下调全年营收展望:AI服务器业务强劲,预计今年营收增超50%
  • 3年多来俄乌要首次直接对话?能谈得拢吗?
  • “女硕士失踪13年生两孩”案进入审查起诉阶段,哥哥:妹妹精神状态好转