目录

  • Datetime模块常用方法
    • 1、年的加减
    • 2、月的加减
    • 3、日的加减
    • 4、小时的加减
    • 5、分钟的加减
    • 6、时间与字符串的转换
    • 7、两个日期计算相差多少天
    • 8、当前小时:00:00--00:00
    • 9、当前天:00:00:00--00:00:00
    • 10、当前周:00:00:00--00:00:00
    • 11、上一周:00:00:00--00:00:00
    • 12、当前月:00:00:00--00:00:00
    • 13、上一月:00:00:00--00:00:00
    • 14、当前季度:00:00:00--00:00:00
    • 15、上一季度:00:00:00--00:00:00
    • 16、当前年:00:00:00--00:00:00
    • 17、上一年:00:00:00--00:00:00
    • 18、计算当前日期是当年的第几天

Datetime模块常用方法

1、年的加减

import datetime
from dateutil.relativedelta import relativedelta
# 当前时间+3年
date_time = datetime.datetime.date(datetime.datetime.now()) + relativedelta(years=3)
print(date_time)
# 当前时间-3年
date_time = datetime.datetime.date(datetime.datetime.now()) + relativedelta(years=-3)
print(date_time)

2、月的加减

import datetime
from dateutil.relativedelta import relativedelta
# 当前时间+3月
date_time = datetime.datetime.now() + relativedelta(months=3)
print(date_time)
# 当前时间-3月
date_time = datetime.datetime.now() + relativedelta(months=-3)
print(date_time)

3、日的加减

import datetime
# 当前时间+3天
date_time = datetime.datetime.now() + datetime.timedelta(days=3)
print(date_time)
# 当前时间-3天
date_time = datetime.datetime.now() + datetime.timedelta(days=-3)
print(date_time)

4、小时的加减

import datetime
# 当前时间+3小时
date_time = datetime.datetime.now() + datetime.timedelta(hours=3)
print(date_time)
# 当前时间-3小时
date_time = datetime.datetime.now() + datetime.timedelta(hours=-3)
print(date_time)

5、分钟的加减

import datetime
# 当前时间+3分钟
date_time = datetime.datetime.now() + datetime.timedelta(minutes=3)
print(date_time)
# 当前时间-3分钟
date_time = datetime.datetime.now() + datetime.timedelta(minutes=-3)
print(date_time)

6、时间与字符串的转换

6.1、特殊的字符串类型

import datetime
date_time = '2012-05-29T19:30:03.283Z'
date_time = datetime.datetime.strptime(date_time, "%Y-%m-%dT%H:%M:%S.%fZ")
print(date_time)

6.2、常见的字符串类型

import datetime
date_time = '2012-05-29 19:30:03'
date_time = datetime.datetime.strptime(date_time, "%Y-%m-%d %H:%M:%S")

6.3、时间转换成字符串

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

7、两个日期计算相差多少天

import datetime
d1 = datetime.datetime(2005, 2, 16)
d2 = datetime.datetime(2004, 12, 31)
print((d1 - d2).days)

8、当前小时:00:00–00:00

import datetime
time_str = "%Y-%m-%d %H"
gt_time = datetime.datetime.strptime(current_time.strftime(time_str), time_str)
lt_time = gt_time + datetime.timedelta(hours= 1)
print(gt_time)
print(lt_time)

9、当前天:00:00:00–00:00:00

import datetime
time_str = '%Y-%m-%d'
gt_time = datetime.datetime.strptime(current_time.strftime(time_str), time_str)
lt_time = gt_time + datetime.timedelta(days= 1)
print(gt_time)
print(lt_time)

10、当前周:00:00:00–00:00:00

import datetime
gt_time = current_time - datetime.timedelta(days=current_time.weekday())
lt_time = current_time + datetime.timedelta(days=7-current_time.weekday())
print(gt_time)
print(lt_time)
或
time_str = '%Y-%m-%d'
gt_time = datetime.datetime.strptime((current_time - datetime.timedelta(days=current_time.weekday())).strftime(time_str), time_str)
lt_time = gt_time + datetime.timedelta(days=7)
print(gt_time)
print(lt_time)

11、上一周:00:00:00–00:00:00

gt_time = current_time - datetime.timedelta(days=current_time.weekday()+7)
lt_time = current_time - datetime.timedelta(days=current_time.weekday()+1)
print(gt_time)
print(lt_time)
或
days = datetime.date.weekday(current_time)
gt_time = current_time + datetime.timedelta(days=-days-7,hours=-current_time.hour,minutes=-current_time.minute,seconds=-current_time.second)
lt_time = gt_time + datetime.timedelta(days=6)
print(gt_time)
print(lt_time)

12、当前月:00:00:00–00:00:00

gt_time = datetime.datetime(current_time.year, current_time.month, 1)
lt_time = datetime.datetime(current_time.year, current_time.month + 1, 1)
print(gt_time)
print(lt_time)

13、上一月:00:00:00–00:00:00

gt_time = datetime.datetime(current_time.year, current_time.month, 1) - datetime.timedelta(days=1)
gte_time = datetime.datetime(gt_time.year, gt_time.month, 1)
lt_time = datetime.datetime(gt_time.year, gt_time.month + 1, 1)
print(gt_time)
print(lt_time)

14、当前季度:00:00:00–00:00:00

month = (current_time.month - 1) - (current_time.month - 1) % 3 + 1
gt_time = datetime.datetime(current_time.year, month, 1)
lt_time = gt_time + relativedelta(months=3)
print(gt_time)
print(lt_time)

15、上一季度:00:00:00–00:00:00

month = (current_time.month - 1) - (current_time.month - 1) % 3 + 1
lt_time = datetime.datetime(current_time.year, month, 1)
gt_time = lt_time - datetime.timedelta(days=1)
gt_time = datetime.datetime(gt_time.year, gt_time.month - 2, 1)
print(gt_time)
print(lt_time)

16、当前年:00:00:00–00:00:00

gt_time = datetime.datetime(current_time.year, 1, 1)
lt_time = datetime.datetime(current_time.year + 1, 1, 1)
print(gt_time)
print(lt_time)

17、上一年:00:00:00–00:00:00

gt_time = datetime.datetime(datetime.datetime(current_time.year - 1, 1, 1).year, 1, 1)
lt_time = datetime.datetime(current_time.year, 1, 1)
print(gt_time)
print(lt_time)

18、计算当前日期是当年的第几天

import time
import datetime
cur = datetime.datetime.now()
cur = datetime.datetime.strftime(cur, "%Y-%m-%d")
cur = time.strptime(cur, "%Y-%m-%d")
print(cur.tm_year)
print(cur.tm_yday)

Datetime模块常用方法(年、季度、月、周、日)相关推荐

  1. php 计算日期差几周,PHP计算两个时间之差的函数(年,月,周,日,小时,分钟,秒数)

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 PHP 2  // 时间格式为YYYYMMDDHHmmss 3  function timeDiff( $aTime , $bTime ) 4 { 5   ...

  2. MySQL基础——按月/周/日分组统计数据

    MySQL基础--按月/周/日分组统计数据 在使用MySQL进行查询时,很多时候,我们需要按时间段进行统计,例如每周,每月的数据:这里我们需要使用到MySQL的关键词:DATE_FORMAT 1. 语 ...

  3. python中datetime模块常用方法_Python中datetime的使用和常用时间处理

    datetime在python中比较常用,主要用来处理时间日期,使用前先倒入datetime模块.下面总结下本人想到的几个常用功能. 1.当前时间: >>> print dateti ...

  4. MySQL按 年 月 周 日统计表中的数据

    今天在做统计报表的时候,需要对表数据按年.月.周和日分别进行统计.统计用到了MySQL日期函数DATE_FORMAT.YEAR.QUARTER.MONTH和WEEK,本文就这些函数的使用和功能实现进行 ...

  5. time模块及datetime模块常用方法讲解

    import time # print(time.clock()) #返回处理器时间,3.3开始已废弃 , 改成了time.process_time()测量处理器运算时间,不包括sleep时间,不稳定 ...

  6. SQL批量更新DateTime中的年、月、日

    UPDATE [表名] SET [字段名] = STUFF(CONVERT(nvarchar(23), [字段名], 120), 1, 4, '[目标值]') 转载于:https://www.cnbl ...

  7. Python中calendar,time,datetime模块详情解 -------18

    常用模块 calendar time datetime os shutil zip math string 上述使用理论上都应该先导入,string是特例 calendar,time,datetime ...

  8. Python使用datetime中的timedelta模块实现时间增减:python计算100天后是哪年那月那日?

    Python使用datetime中的timedelta模块实现时间增减:python计算100天后是哪年那月那日? 目录

  9. Oracle 按年、月、日、周、季度连续查询

    1.前言 很多时候,我们需要统计某某状态下的数据呈现给客户或者以图表的方式显示出来.在按年.月.日.周.季度统计的时候,没有数据那一年或者那一月.那一天...它是不显示的.这里以天举例,有时候我们需要 ...

最新文章

  1. 线段树 (经典题目合集)
  2. 计算机设备图标怎么删除,电脑设备和驱动器中没用的图标怎么删除? 我的电脑中手机...
  3. iOS 淘宝买 开发者证书 进行真机调试
  4. sprintf、strcpy、strncpy及 memcpy 函数,请问这些函数功能有什么区别?配实例详解!
  5. 网络开源框架之libevent使用实例
  6. Python中metaclass解释
  7. Linq to SQL 下篇
  8. C语言strchr()函数(字符串中查找子字符)
  9. LightOJ 1370 - Bi-shoe and Phi-shoe
  10. Linux中xml导入数据库,XML数据库 BaseX
  11. 多元正态分布的后验采样(包含程序)
  12. 数字图像处理 中值滤波 MATLAB实验
  13. 色彩艺术海报PSD模板 | 用色彩挑动你的情趣
  14. Xshell调节字体大小和样式
  15. elastic-job 新手指南官网指南
  16. 记录——《C Primer Plus (第五版)》第十章编程练习第五题
  17. 剑指Offer(java版):字符串的排列
  18. ftp服务器最简单的搭建和配置
  19. JVM垃圾收集器分类
  20. 【阿里—云计算】从飞天系统到飞天2.0(核心组成:飞天洛神)

热门文章

  1. 全球与中国豪华客车市场深度研究分析报告
  2. 为何要选择即时小程序代理平台?有哪些优势?
  3. 【学生管理系统】权限管理之角色管理—添加角色并添加对应角色的权限
  4. 热敏网口打印机连接方式
  5. 计算机专业必备的英语词汇加音标,计算机专业带音标英语
  6. SCP命令---讲解
  7. ATSAM9260 NORFLASH Boot solution research
  8. 非常全面:72页ChatGPT研究框架(2023)ppt(附下载)
  9. 借助AI实现“学渣”到“学霸”逆袭,深度学习在学霸君的实践
  10. 磁盘满了怎么办?实用小技巧,做不做测试都非常好用