Python 中的时间处理包datetime和arrow

在获取贝壳分的时候用到了时间处理函数,想要获取上个月时间包括年、月、日等

# 方法一:
today = datetime.date.today() # 1. 获取「今天」
first = today.replace(day=1) # 2. 获取当前月的第一天
last_month = first - datetime.timedelta(days=1) # 3. 减一天,得到上个月的最后一天
print(last_month.strftime("%Y%m")) # 4. 格式化成指定形式 # 方法二:
today = datetime.date.today() # 1. 获取「今天」
last_month = today.replace(month=today.month - 1) # 2.获取前一个月
print(last_month.strftime("%Y%m")) # 3. 格式化成指定形式 # 方法三: arrow包的使用(pip install arrow)
a = arrow.now() # 当前本地时间
print(a.timestamp)
print(a.year)
print(a.month)
print(a.day)
print(a.date())
print(a.time())
print(a.shift(months=-4).format("YYYYMM"))
print(a.shift(months=1).format("YYYYMM"))
print(a.shift(hours=1)) # 生成arrow对象
print(arrow.get(1535113845))
print(arrow.get(datetime.date(2018, 7, 24)))
print(arrow.get("2018-08-11 12:30:56"))

运行结果如下:

# 方法一
201906 # 方法二
201906 # 方法三
1562329178
2019
7
5
2019-07-05
20:19:38.573000
201903
201908
2019-07-05T21:19:38.573000+08:00
2018-08-24T12:30:45+00:00
2018-07-24T00:00:00+00:00
2018-08-11T12:30:56+00:00

所以想通过一个方法来兼容n种情况是极度困难的,内部实现也会非常复杂,作为用户使用起来必然也很混乱,我们需要根据自己的业务场景选取最合适的包来进行处理。

Python 中的时间处理包datetime和arrow的更多相关文章

  1. python中的时间转换

    Python中的时间相关库有: datetime 和time. 主要形式有: datetime timestamp 相互转换: timestamp->datetime: dt = datetim ...

  2. python中常用的导包的方法和常用的库

    python中常用的导包的方法               导入包和包名的方法:1.import package.module 2.from package.module import  * 例一: ...

  3. python中的时间和时间格式转换

    1.python中的时间:要得到年月日时分秒的时间: import time #time.struct_time(tm_year=2012, tm_mon=9, tm_mday=15, tm_hour ...

  4. [ Python入门教程 ] Python中日期时间datetime模块使用实例

    Python中datetime模块提供强大易用的日期处理功能,用于记录程序操作或修改时间.时间计算.日志时间显示等功能.datatime模块重新封装了time模块,提供的类包括date.time.da ...

  5. Python中的时间日期模块(time、datetime)

    目录 Datetime 获取当前时间 获取当前日期 获取当前时间的tuple元组 格式化日期和时间 时间移动 获取两个时间的时间差 时间格式转换 Time 获取距元年(1970.1.1)的秒数 当时时 ...

  6. Python中对时间日期的处理方法简单汇总

    这篇文章主要介绍了Python实用日期时间处理方法汇总,本文讲解了获取当前datetime.获取当天date.获取明天/前N天.获取当天开始和结束时间(00:00:00 23:59:59).获取两个d ...

  7. 解决 python 中,时间日期不能序列化的问题

    在python 中, 你在数据库娶到了数据中如果含有时间日期,那么你在向前端作为json对象传递的时候呢,就会报错.大致如下: TypeError: datetime.datetime(2017, 1 ...

  8. python中的模块和包

    模块 一 什么是模块 模块就是一组功能的集合体,可以通过导入模块来复用模块的功能. 比如我在同一个文件夹定义两个.py文件,分别命名为A.py和B.py,那么可以通过在A文件里通过import B来使 ...

  9. python中time()时间的相关问题

    Python中time模块详解(转) 在平常的代码中,我们常常需要与时间打交道.在Python中,与时间处理有关的模块就包括:time,datetime以及calendar.这篇文章,主要讲解time ...

随机推荐

  1. flag 履行我的flag

    以后数组开小就不吃饭!!!!!! 上午考试不吃午饭 下午考试不吃晚饭 晚上考试不吃早饭 我以后还能吃饭吗 11.12距离csp-s还有2天,我的数组开小了,履行承诺,不吃饭了

  2. linux五天光速入门

    第一章: 01 Linux的安装及相关配置  → B站视频链接(p1-p21) 02 UNIX和Linux操作系统概述    → B站视频链接 第二章: 01 Linux命令及获取帮助   → B站视 ...

  3. .NET 时间轴:从出生到巨人

    自1995年互联网战略日以来最雄心勃勃的事业 —— 微软.NET战略, 2000年6月30日. 微软于2000年推出基于Windows操作系统的应用软件开发框架.NET,发展至今形成巨大的技术栈,涉及 ...

  4. swoole进程间如何通信

    Swoole进程间通信的方式 管道pipe 管道用于进程之间的数据交互,Linux系统本身提供了pipe函数用于创建一个半双工通信管道.半双工的通信方式中数据只能单向流动(一端只读一端只写),只能在具 ...

  5. 《细说PHP》 第四版 样章 第二章 PHP的应用与发展 4

    2.4  PHP的发展 最初创建时,PHP是一个简单的用Perl语言编写的程序,只是为了统计自己的网站有多少访问者.后来又用C语言重新编写,多年来,PHP经过无数开源贡献者的不断迭代,历经数个版本,已 ...

  6. 【nginx启动报错】重启服务器之后nginx启动错

    错误信息: # ./nginx  nginx: [emerg] open() "/var/run/nginx/nginx.pid" failed (2: No such file ...

  7. Springboot整合Thmeleaf

    1.概述 Thymeleaf类似JSP.Velocity.Freemarker都是模板引擎,主要用来展示数据,原理如下 springboot官网还是推荐使用Thymeleaf而不是jsp, 不使用js ...

  8. C#截图操作(几种截图方法)

    公共函数获取屏幕截图private Bitmap GetScreenCapture(){ Rectangle tScreenRect = new Rectangle(0, 0, Screen.Prim ...

  9. Nginx反向代理Tomcat静态资源无法加载以及请求链接错误

     在使用Nginx实现Tomcat的负载均衡的时候,项目发布到了Tomcat,Nginx也配置好了, 当访问的时候发现了与预期不符 表现为: 静态资源加载失败 链接跳转地址错误 下面是我错误的配置文件 ...

  10. jxl解析excel时,处理中文乱码问题

    jxl解析excel时,处理中文乱码问题 一般出现较多的问题是,当exce中包含了中文或特殊字符时,在解析时候就会出现乱码现象. 解决方法为: InputStream in = new FileInp ...