前言

datetime是python的内置模块,用来处理日期和时间。

该模块常用的类有:

本文旨在讲解datetime模块中datetime类的使用方法。

datetime对象是 date 与 time 的结合体,涵盖了date和time对象的所有信息。

一、导入datetime类

第一步,先导入datetime类:

from datetime import datetime

二、构造datetime对象

datetime(year,month,day,hour=0, minute=0, second=0, microsecond=0, tzinfo=None)

参数范围:MINYEAR <= year <= MAXYEAR

1 <= month <= 12

1 <= day <= 指定年月的天数

0 <= hour < 24

0 <= minute < 60

0 <= second < 60

0 <= microsecond < 1000000

实例:

datetime(2019,12,6,13,30,50)

# 输出 : datetime.datetime(2019, 12, 6, 13, 30, 50)

三、类方法datetime.today()

返回本地区当前日期时间datetime对象

datetime.today()

# 输出 : datetime.datetime(2019, 12, 9, 13, 27, 54, 693978)datetime.now(tz=None)

返回本地区当前日期时间datetime对象,可以添加时区tz

默认无时区时,返回结果和datetime.today()一致

datetime.now()

# 输出 : datetime.datetime(2019, 12, 9, 13, 27, 54, 693978)datetime.utcnow()

返回UTC(同格林尼治时间)日期时间datetime对象

datetime.now()

# 输出 : datetime.datetime(2019, 12, 9, 13, 27, 54, 693978)datetime.fromtimestamp(timestamp, tz=None)

返回给定时间戳的datetime对象,时区默认为空,返回当地日期时间,也可以指定时区

datetime.fromtimestamp(1575877756)

# 输出 : datetime.datetime(2019, 12, 9, 15, 49, 16)

想获取当前时间戳,可通过time模块的time方法实现:

import time

time.time()

# 输出:1575877756.4673727datetime.utcfromtimestamp(timestamp)

返回给定时间戳的datetime对象,日期时间默认为UTC(同格林尼治时间)

datetime.fromtimestamp(1575877756)

# 输出 : datetime.datetime(2019, 12, 9, 7, 49, 16)datetime.fromordinal(ordinal)

输入参数为天数,返回从公元0年开始计数的年、月、日datetime对象

比如输入参数为365,则返回1-12-31

datetime.fromordinal(365)

# 输出 : datetime.datetime(1, 12, 31, 0, 0)datetime.combine(date, time, tzinfo=self.tzinfo)

拼接date和time对象,形成一个新的datetime对象

可以输入时区参数,否则默认为原time的时区

date_ = datetime.today().date()

time_ = datetime.today().time()

datetime.combine(date_,time_)

# 输出 : datetime.datetime(2019, 12, 9, 16, 12, 56, 914484)datetime.strptime(date_string, format)

将格式化日期时间字符串,转换为datetime对象,可以转换日期、时间、日期时间

datetime.strptime('2019-11-05','%Y-%m-%d')

# 输出 : datetime.datetime(2019, 11, 5, 0, 0)

datetime.strptime('09:30:50','%H:%M:%S')

# 输出 : datetime.datetime(1900, 1, 1, 9, 30, 50)

datetime.strptime('2019-11-05 09:30:50','%Y-%m-%d%H:%M:%S')

# 输出 : datetime.datetime(2019, 11, 5, 9, 30, 50)

四、实例方法datetime.date()

返回date对象

d = datetime(2019,12,6,13,30,50)

d.date()

# 输出 : datetime.date(2019, 12, 6)datetime.time()

返回time对象

d = datetime(2019,12,6,13,30,50)

d.time()

# 输出 : datetime.time(13, 30, 50)datetime.timestamp()

对于给定的 datetime对象返回时间戳

d = datetime(2019,12,6,13,30,50)

d.timestamp()

# 输出 : 1575610250.0datetime.weekday()

返回星期几,星期一为 0,星期天为 6

d = datetime(2019,12,6,13,30,50)

d.weekday()

# 输出 : 4datetime.isoweekday()

返回星期几,星期一为 1,星期天为 7

d = datetime(2019,12,6,13,30,50)

d.isoweekday()

# 输出 : 5datetime.isocalendar()

返回数组:(年、第多少周、星期几)

d = datetime(2019,12,6,13,30,50)

d.isocalendar()

# 输出 : (2019, 49, 5)datetime.ctime()

返回日期时间的字符串表示

d = datetime(2019,12,6,13,30,50)

d.ctime()

# 输出 : 'Fri Dec 6 13:30:50 2019'datetime.strftime(date_string, format)

将datetime对象转换为格式化字符串

d = datetime.today()

datetime.strftime(d,'%Y-%m-%d%H:%M:%S')

# 输出 : '2019-12-09 16:32:18'datetime.toordinal()

返回从公元0年到指定datetime的天数

d = datetime(2019,12,6,13,30,50)

d.toordinal()

# 输出 : 737399

五、类实例属性datetime.year

返回给定datetime对象的年份

d = datetime(2019,12,6,13,30,50)

d.year

# 输出 : 2019datetime.month

返回给定datetime对象的月份

d = datetime(2019,12,6,13,30,50)

d.month

# 输出 : 12datetime.day

返回给定datetime对象的天数(一个月的某天)

d = datetime(2019,12,6,13,30,50)

d.day

# 输出 : 6datetime.hour

返回给定datetime对象的小时数(一天的某时)

d = datetime(2019,12,6,13,30,50)

d.hour

# 输出 : 13datetime.minute

返回给定datetime对象的分钟数(一小时的某分)

d = datetime(2019,12,6,13,30,50)

d.minute

# 输出 : 30datetime.second

返回给定datetime对象的秒数(一分钟的某秒)

d = datetime(2019,12,6,13,30,50)

d.second

# 输出 : 50datetime.microsecond

返回给定datetime对象的毫秒数(一分钟的某秒)

d = datetime(2019,12,6,13,30,50,3000)

d.microsecond

# 输出 : 3000datetime.tzinfo

返回datetime对象的时区,前提是在创建datetime对象时需传入tzinfo参数,如果没有传入则返回值为None。

# 获取一个含有时区的datetime对象

import pytz

sh = pytz.timezone('Asia/Shanghai')

d = datetime(2018, 11, 1, hour=8, tzinfo=sh)

d.tzinfo

# 输出 :

六、结论

本文介绍了datetime模块中datetime类的各种方法和属性,代码案例丰富,分门别类,方便使用时查找。

python输入时间_一文搞懂python日期时间处理相关推荐

  1. python数组类型_一文搞懂Python中的所有数组数据类型

    关于我 编程界的一名小小程序猿,目前在一个创业团队任team lead,技术栈涉及Android.Python.Java和Go,这个也是我们团队的主要技术栈. 联系:hylinux1024@gmail ...

  2. python语言语句快的标记是什么_一文搞懂Python程序语句

    原标题:一文搞懂Python程序语句 程序流 Python 程序中常用的基本数据类型,包括: 内置的数值数据类型 Tuple 容器类型 String 容器类型 List 容器类型 自然的顺序是从页面或 ...

  3. python读取枚举_一文读懂Python 枚举

    enum是一组绑定到唯一常数值的符号名称,并且具备可迭代性和可比较性的特性.我们可以使用 enum 创建具有良好定义的标识符,而不是直接使用魔法字符串或整数,也便于开发工程师的代码维护. 创建枚举 我 ...

  4. sql中当前日期加2个月_一文搞定Mysql日期时间函数

    总第184篇/张俊红 日期和时间函数部分也是我们日常工作中使用频率比较高的一部分.这一篇我们主要讲讲Mysql里面的日期时间相关的函数,不同数据库之间基本相同,只会有个别函数的差异.大家掌握一个数据库 ...

  5. python中row是什么意思_一文搞懂Python中的yield

    关注公众号「Python七号」,及时 get Python 技能. yield 可以实现生成器,可以实现协程. 什么是生成器,什么是协程,如果还不了解,可以继续往下看,概念可以不懂,只要理解它的作用和 ...

  6. python 推迟运行_一文看懂Python的time模块sleep()方法和strftime()方法

    概述 今天主要介绍一下Python的time sleep()方法和strftime()方法. 一.Python time sleep()方法 Python time sleep() 函数推迟调用线程的 ...

  7. python中gbk字符原因报错_不想再被鄙视?那就看进来! 一文搞懂 Python 2 字符编码...

    原标题:不想再被鄙视?那就看进来! 一文搞懂 Python 2 字符编码 程序员都自视清高,觉得自己是创造者,经常鄙视不太懂技术的产品或者QA.可悲的是,程序员之间也相互鄙视,程序员的鄙视链流传甚广, ...

  8. 一文搞懂 Python 的 import 机制

    一.前言 希望能够让读者一文搞懂 Python 的 import 机制 1.什么是 import 机制? 通常来讲,在一段 Python 代码中去执行引用另一个模块中的代码,就需要使用 Python ...

  9. python输入什么就输出什么_一文读懂Python的输入和输出

    本文介绍了Python的输入和输出,既然是Python代码,那么就一定有输出量,那么,Python是如何输出的呢? 输出 用print()在括号中加上字符串,就可以向屏幕上输出指定的文字.比如输出'h ...

最新文章

  1. html中失焦事件怎么写的,详解HTML onfocus获得焦点和onblur失去焦点事件
  2. VS Code竟然能约会,找对象不看脸,看编程水平
  3. 优化算法:粒子群算法,遗传算法,差分进化算法
  4. 石油-美元金融体系的形成
  5. websocket创建失败_ie11 websocket连接建立时报SecurityError问题
  6. 尝鲜之在Github上搭建Octopress博客
  7. android jni示例_Android TextInputLayout示例
  8. LINUX获得线程号、设置线程名
  9. 南开100题C语言(031-040)
  10. 时间序列分析之ADF检验
  11. PHP实现文件下载功能,提示压缩包损坏及打不开的解决方法
  12. 多因子系列(二):基于机器学习选股策略(附源码)
  13. 2023-02-04 用Orca替换MySQL的优化器
  14. sql2008R2 错误 3000 - 3999
  15. 点、线、圆、矩形、抛物线的类定义_德语词汇-数学类
  16. python报错“ImportError: The _imagingft C module is not installed”
  17. spark错误ERROR LiveListenerBus: SparkListenerBus has already stopped!
  18. Android Studio:non-static method cannot be referenced ......的解决办法
  19. http://f.dataguru.cn/forum.php?mod=viewthreadtid=44212fromuid=4771
  20. 软著申请提交审核一般时间是60-75工作日,软件著作权登记申请是可以加急的,加急是20-30工作日

热门文章

  1. 使用ConnectivityManager 判断网络是否连接
  2. java接口对接——别人调用我们接口获取数据
  3. python测试rabbitmq简易实例
  4. OV摄像头SCCB通信协议
  5. php中ignore_user_abort函数的用法(定时)
  6. nginx apache mysql php 常用编译参数
  7. [转载] 详解 Numpy.ndarray
  8. [转载] boost python numpy_boost.python 与 boost.numpy安装的一些注意事项
  9. [转载] 20个常用Python库及200个第三方库
  10. JavaScript笔记2———js的数据类型