时光不可追,往事不可回。以往创建的数据,如若没有日期做标识,不堪回首。几乎任何一个产品都会用到日期,如登录日期、创建日期、修改日期等。正因如此,编程语言中,几乎都有内置日期函数。

18.1 当前日期

获取日期和时间的有datetime和time模块。其中datetime模块对time模块进行了封装。用datetime.now()获取到当前日期和时间,并可在返回结果当中,可只取其中的一部分内容如年份、月份。

# 获取当前日期和日期from datetime import datetimenow = datetime.now()print(now)# 获取年份、月份等y = now.year # 年份m = now.month # 月份d = now.day # 天h = now.hour # 时m = now.minute # 分s = now.second # 秒print(y, m, d, h, m, s)

开发产品时,用时间戳表示唯一值或比较,是常有的事。时间戳可通过time模块获取。

# 获取当前日期和日期import timet = time.time()# 10位时间戳print(int(t))# 13位时间戳print(int(t*1000))

18.2 日期计算

两个日期相差多少天, 今天的n天后的日期,明天的日期等这种情况,就需要进行日期计算,它可通过datetime.timedelta()方法实现。

(1) 获取昨天日期,利用当前日期减去一天

# 计算出昨天日期from datetime import datetime, timedeltanow = datetime.now().date()date = now - timedelta(days=1)print(date)

(2) 获取20后的日期,利用当前日期加上20天

# 算出20天后的日期from datetime import datetime, timedeltanow = datetime.now().date()date = now + timedelta(days=20)print(date)

18.3 格式日期

格式化日期,在编程中,是常用的,如2019-01-01这种格式。格式使用strftime(format)方法,format内容由特殊的字符组成。%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)。

# 日期格式化from datetime import datetimenow = datetime.now()print(now)# 日期转化为字符串s = datetime.strftime(now, "%Y-%m-%d")print(s)# 日期转化为整型s = datetime.strftime(now, "%Y%m%d")print(int(s))# 时分秒h = datetime.strftime(now, "%H:%M:%S")print(h)

18.4 日期库

Python针对日期时间的处理提供了大量的package,类和方法,但在使用上挺繁琐,挺别扭的。好在有一些好用的第三方日期库可供使用,特别是Arrow。它提供了一个合理的、人性化的方法来操作日期。要使用Arrow库,先通过:pip3 install arrow下载和安装。

用完arrow后,心里轻舒了一口气,感觉就是爽,爽,爽。

# 引入arrow模块import arrowt = arrow.now()# 获取年份和月份y = t.datetime.yearm = t.datetime.monthprint(y, m)# 时间戳ts = t.timestampprint(ts)# 日期格式化f = t.format("YYYY-MM-DD HH:mm:ss")print(f)

时间推移就是要获取某个时间之前的时间或者之后的时间,比如要获取相对于当前时间前一天的时间。Arrow在这方面的计算也挺方便的。

# 计算出昨天日期import arrowt = arrow.now()t = t.shift(days=-1)t = t.format("YYYY-MM-DD")print(t)# 算出明天日期t = arrow.now()t = t.shift(days=1)t = t.format("YYYY-MM-DD")print(t)# 算出三个月前的今天t = arrow.now()t = t.shift(months=-3)t = t.format("YYYY-MM-DD")print(t)# 日期转为整数t = arrow.now()t = t.format("YYYYMMDD")print(int(t))

算出当前系统后某个月的日期_Python3.7知其然知其所以然-第十八章 日期函数相关推荐

  1. 天数换算月份_EXCEL如何算出指定的月份有多少天计算方法

    1.在c3单元格中输入 =EOMONTH(A3,0)函数, EOMONTH函数语法解析:返回start-date之前或之后指定月份中最后一天的序列号. 语法:EOMONTH(start_date,mo ...

  2. 《深入理解 Spring Cloud 与微服务构建》第十八章 使用 Spring Security OAuth2 和 JWT 保护微服务系统

    <深入理解 Spring Cloud 与微服务构建>第十八章 使用 Spring Security OAuth2 和 JWT 保护微服务系统 文章目录 <深入理解 Spring Cl ...

  3. 用python实现时间的动态(动态时钟)+ 算出某年某月星期几的所有日期

    一个玩得好的朋友突然大晚上的给我布置作业,吓得我精神抖擞.他的原话是: 感觉发现新大陆了,利用小海龟画的,上次玩海龟已经是几个月之前的事情了 https://blog.csdn.net/hanhanw ...

  4. 30岁程序员吐槽:一分钟只能赚3.3元,混得太差!算出月薪后我服了

    现在很多年轻人都会在年龄还很小的时候,就开始思考着怎么去找一份比较好的工作.即使是进入职场工作,拿着一份整体水平比较低的薪资,也会像办法让自己的薪资待遇提高一些.毕竟谁不愿意让自己拿到更多的工资 在一 ...

  5. 已知IP地址和子网掩码后可以算出网络地址、广播地址、地址范围、主机位数、可用主机位数

    已知IP地址和子网掩码后可以算出网络地址.广播地址.地址范围.本网主机数 二进制.十进制.十六进制相互转换关系. 以IP地址为192.168.100.10,子网掩码为255.255.255.0为例(即 ...

  6. 问题简述:算出a年b月c日是当年的多少天

    问题简述:算出a年b月c日是当年的多少天 利用数组来判断闰年与否: #include<stdio.h> struct date {int day;int month;int year; } ...

  7. 如何在计算机的函数中算折后价,怎么利用if函数算出冰箱的折后价,急急急急...

    在if函数中填入参数就可算出冰箱的折后价. 折扣率E11单元格公式如下: =IF(B11<100,$B$3,IF(B11<200,$B$4,IF(B11<300,$B$5,$B$6) ...

  8. 给出年分m和一年中的第n天,算出第n天是几月几号。

    题目描述 给出年分m和一年中的第n天,算出第n天是几月几号. 输入描述: 输入包括两个整数y(1<=y<=3000),n(1<=n<=366). 输出描述: 可能有多组测试数据 ...

  9. 登录win7系统后又自动弹出到用户登录界面

    故障: 登录Win7系统后自动弹出到用户登录界面,提示已登录(表面现象) 原因:登录失败: 禁用当前的帐户. 我查了下日志,引起的原因 如图: ID:UpdatusUser 用于提供 NVIDIA 软 ...

最新文章

  1. TCP三次握手和四次挥手的解释
  2. bitset优化+滚动优化dp ----- 2021牛客多校第8场 F Robot
  3. IDEA加密文件Base64转换String传输以及报文摘要MD5防止恶意篡改
  4. 网络推广——网络推广专员从多角度分析网站关键词排名受影响因素
  5. AAAI 2019 | 借鉴传染病学原理探索医学图像CNN可解释性
  6. 我去,JS自执行匿名函数竟然有20几种写法!
  7. 德云斗笑社何九华为什么没参加_江西省会为什么是南昌?
  8. mysql高精度类型_mysql中常见的数据类型
  9. Supplier 点participate时候用USB KEY的身份验证
  10. #3027. [Ceoi2004]Sweet 生成函数 + 组合数学
  11. 最小栈设计并实现一个minstack类_栈相关
  12. Randomized Cuts for 3D Mesh Analysis (SIGGRAPH Asia 08)
  13. Blender场景建模练习:破旧的公寓楼
  14. Typora(就是个浏览器)自定义设置。附带:Typora免费版链接
  15. html页面在线预览PDF文件
  16. 北京大学 引进一位人工智能世界级专家!
  17. docker磁盘空间满了怎么清理
  18. 使用Domain Adaption提升小场景时间序列预测效果的方法
  19. 医院选HIS,开源医疗OpenHIS就够了
  20. VC++通过SetWindowHookEx去实时拦截窗口消息,实现视频会议中桌面共享图像的实时拖动(附源码)

热门文章

  1. 开源|阿里巴巴的国产JDK Dragonwell:龙井
  2. 一文了解5G是什么,将如何影响我们的未来
  3. 零基础如何入门数据分析?
  4. 无需人脸检测,实时3维人脸姿态估计img2pose 2020
  5. module ‘tensorflow‘ has no attribute ‘Tensor‘
  6. win10之dlib安装 c++调用
  7. 10013: An attempt was made to access a socket in a way forbidden by its access permissions
  8. flask管理不同的路由
  9. c++ socket error 10038错误
  10. the cdb terminated,Qt调试器问题