简介:
datetime 模块提供用于处理日期和时间的类。在支持日期时间数学运算的同时,实现的关注点更着重于如何能够更有效地解析其属性用于格式化输出和数据操作。本文主要介绍Python中的时间日期(datetime)。
1、Python 时间日期(datetime)
Python中的时间日期不是其本身的数据类型,但是我们可以导入名为datetime的模块以将时间日期用作时间日期对象。

例如

导入datetime模块并显示当前时间日期:

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

2、输出时间日期
当我们从上面的示例执行代码时,结果将是:

2020-11-14 12:01:57.932172

该日期包含年,月,日,小时,分钟,秒和微秒。

datetime模块具有许多方法来返回有关日期对象的信息。

这里有一些示例,将在本章稍后了解更多有关它们的信息:

例如

返回年份和工作日名称:

import datetimex = datetime.datetime.now()print(x.year)
print(x.strftime("%A"))

3、创建时间日期datetime对象
要创建日期,我们可以使用datetime模块的datetime()类(构造函数)。

datetime()类需要三个参数来创建日期:年,月,日。

例如

创建一个日期对象:

import datetimex = datetime.datetime(2020, 5, 17)print(x)

datetime()类还接受时间和时区的参数(hour, minute, second, microsecond, tzone),但它们是可选的,其默认值为0,(tzone时区为None)。

4、strftime()方法
datetime对象具有一种将日期对象格式化为可读字符串的方法。

该方法称为strftime(),它采用一个参数format来指定返回字符串的格式:

例如:

显示月份名称:

import datetimex = datetime.datetime(2018, 6, 1)print(x.strftime("%B"))

一个参考的所有合法的格式代码:

标识 含义 举例
%a 星期简写 Mon
%A 星期全称 Monday
%b 月份简写 Mar
%B 月份全称 March
%c 适合语言下的时间表示 May Mon May 20 16:00:02 2013
%d 一个月的第一天,取值范围: [01,31]. 20
%H 24小时制的小时,取值范围[00,23]. 17
%I 12小时制的小时,取值范围 [01,12]. 10
%j 一年中的第几天,取值范围 [001,366]. 120
%m 十进制月份,取值范围[01,12]. 50
%M 分钟,取值范围 [00,59]. 50
%p 上、下午,AM 或 PM. PM
%S 秒,取值范围 [00,61]. 30
%U 这一年的星期数(星期天为一个星期的第一天,开年的第一个星期天之前的天记到第0个星期)趋势范围[00,53]。 20
%w 星期的十进制表示,取值范围 [0(星期天),6]. 1
%W 这一年的星期数(星一为一个星期的第一天,开年的第一个星期一之前的天记到第0个星期)趋势范围[00,53]。 20
%x 特定自然语言下的日期表示 05/20/13
%X 特定自然语言下的时间表示 16:00:02
%y 年的后两位数,取值范围[00,99]. 13
%Y 完整的年 2013
%Z 时区名 CST(China Standard Time)
%% %字符 %

5、datetime模块介绍
1)datetime模块中包含如下类:

类名 功能说明
date 日期对象,常用的属性有year, month, day
time 时间对象
datetime 日期时间对象,常用的属性有hour, minute, second, microsecond
datetime_CAPI 日期时间对象C语言接口
timedelta 时间间隔,即两个时间点之间的长度
tzinfo 时区信息对象

2)静态方法和字段

datetime.today():返回一个表示当前本地时间的datetime对象;
datetime.now([tz]):返回一个表示当前本地时间的datetime对象,如果提供了参数tz,则获取tz参数所指时区的本地时间;
datetime.utcnow():返回一个当前utc时间的datetime对象;#格林威治时间
datetime.fromtimestamp(timestamp[, tz]):根据时间戮创建一个datetime对象,参数tz指定时区信息;
datetime.utcfromtimestamp(timestamp):根据时间戮创建一个datetime对象;
datetime.combine(date, time):根据date和time,创建一个datetime对象;
datetime.strptime(date_string, format):将格式字符串转换为datetime对象;

3)方法和属性

dt=datetime.now()#datetime对象
#dt.year、month、day、hour、minute、second、microsecond、tzinfo:
dt.date():获取date对象;
dt.time():获取time对象;
dt.replace([year[,month[,day[,hour[,minute[,second[,microsecond[,tzinfo]]]]]]]]):
dt.timetuple()
dt.utctimetuple()
dt.toordinal()
dt.weekday()
dt.isocalendar()
dt.isoformat([ sep] )
dt.ctime():返回一个日期时间的C格式字符串,等效于time.ctime(time.mktime(dt.timetuple()));
dt.strftime(format)

6、使用timedelta类实现时间加减

#coding:utf-8
from  datetime import *dt = datetime.now()
#日期减一天
dt1 = dt + timedelta(days=-1)#昨天
dt2 = dt - timedelta(days=1)#昨天
dt3 = dt + timedelta(days=1)#明天
delta_obj = dt3-dt
print type(delta_obj),delta_obj#<type 'datetime.timedelta'> 1 day, 0:00:00
print delta_obj.days ,delta_obj.total_seconds()#1 86400.0

7、tzinfo时区类

#! /usr/bin/python
# coding=utf-8from datetime import datetime, tzinfo,timedelta"""
tzinfo是关于时区信息的类
tzinfo是一个抽象类,所以不能直接被实例化
"""
class UTC(tzinfo):"""UTC"""def __init__(self,offset = 0):self._offset = offsetdef utcoffset(self, dt):return timedelta(hours=self._offset)def tzname(self, dt):return "UTC +%s" % self._offsetdef dst(self, dt):return timedelta(hours=self._offset)#北京时间
beijing = datetime(2011,11,11,0,0,0,tzinfo = UTC(8))
print "beijing time:",beijing
#曼谷时间
bangkok = datetime(2011,11,11,0,0,0,tzinfo = UTC(7))
print "bangkok time",bangkok
#北京时间转成曼谷时间
print "beijing-time to bangkok-time:",beijing.astimezone(UTC(7))#计算时间差时也会考虑时区的问题
timespan = beijing - bangkok
print "时差:",timespan#Output==================
# beijing time: 2011-11-11 00:00:00+08:00
# bangkok time 2011-11-11 00:00:00+07:00
# beijing-time to bangkok-time: 2011-11-10 23:00:00+07:00
# 时差: -1 day, 23:00:00

了解更多分析及数据抓取可查看:
http://cloud.yisurvey.com:9081/html/d8acf20b-342f-4806-8dcc-5e6a8d00881d.html?ly=csdn
本文转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请联系我们删除处理。
特别说明:本文旨在技术交流,请勿将涉及的技术用于非法用途,否则一切后果自负。如果您觉得我们侵犯了您的合法权益,请联系我们予以处理。

Python 时间日期(datetime)相关推荐

  1. Python 创建时间日期datetime对象

    datetime 模块提供用于处理日期和时间的类.在支持日期时间数学运算的同时,实现的关注点更着重于如何能够更有效地解析其属性用于格式化输出和数据操作.本文主要介绍Python 创建时间日期datet ...

  2. python时间日期字符串各种

    python时间日期字符串各种 python时间日期字符串各种 第一种 字符串转换成各种日期 time 库 # -*- coding: utf-8 -*- import time, datetime ...

  3. Python 时间处理/datetime/arrow/日期处理

    文章目录 datetime 安装datetime库 获取当前日期 转换输出的时间格式 时间日期格式化符号 字符转为时间 数值转换日期/数字转换日期 arrow 安装arrow库 使用arrow库 获取 ...

  4. Python时间库—datetime的详解及使用

    一.概述 datetime库定义了2个常量和5个类.   常量名/类名 描述 2个常量 MINYEAR=1   AXYEAR=9999   5个类 date类 表示日期的类 time类 表示时间的类 ...

  5. python时间模块 datetime (datetime、timedelta和timezone部分)

    本文承接前文:https://blog.csdn.net/weixin_44013214/article/details/103116581 本文介绍时间模块datetime的剩余部分的内容 date ...

  6. Python时间包datetime的使用

    目录 datetime包的常用功能 datetime包中的常用方法 python的常用时间格式化符号 认识datetime包 日期与时间的结合体-date and time 获取当前时间 获取时间间隔 ...

  7. python时间日期格式,python日期时间格式化

    1.将字符串的时间转换为时间戳 方法: a = "2018-07-05 23:40:00" #将其转换为时间数组 import time timeArray = time.strp ...

  8. python时间模块datetime模块

    1.时间表示的几种类型 1). 时间戳 2). 字符串的时间 3). 元组类型的时间 import time #1.时间戳 print(time.time()) #2.字符串时间 print(time ...

  9. Python时间日期类型

    一.time模块 Python 程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能. 1)time是归类在Generic Operating System Services中,它提供的功能是 ...

最新文章

  1. 从头开始学习深度学习之卷积
  2. Computer:屏幕录像专家软件的简介、安装、使用方法之详细攻略
  3. C++实现chaining链式算法(附完整源码)
  4. java基础---二维数组方面的一些小编程
  5. IL应用之——用IL分析接口的本质
  6. Idea 依赖冲突一分钟解决2种方案
  7. Zookeeper单机安装(开启kerberos)
  8. 哈希码以及Object.toString()简单理解
  9. Activity随笔
  10. unity中连接MySQL数据库的方法封装
  11. 为VSCode 设置好看的字体:Operator Mono
  12. 虚拟机桥接模式连不上网问题(非桥接网卡原因)
  13. 掌财社:传联想控股收身而退 放弃参与高盛投行计划
  14. 雅典娜暴利烹饪系列(下)
  15. 关于轩微电子ADS1256+stm32f103开发板的一点使用小tip
  16. AfxGetThreadState 与 _AFX_THREAD_STATE 剖析
  17. 怎样提高英语思维能力?
  18. 物联网应用之现代档案馆环境智能化监控系统解决方案
  19. [设计分析]3-1 v0.1 教学辅助——点名册外观详细设计
  20. 你们中国人真TM假,微信居然能撤回…

热门文章

  1. 帝国cms灵动标签调用当前栏目下所有子栏目链接,子栏目名称,子栏目图片
  2. iOS:创建撒花动画
  3. Gh0st通信协议解析(3) .send数据包大概是域名拦截关键
  4. Python实现一键自动发送直播弹幕
  5. 商业画布是什么-business model canvas
  6. Git的使用(保姆级教程)
  7. 常用API类方法笔记整理1
  8. 2020年李永乐线性代数强化笔记-特征值、特征向量与二次型
  9. Arcgis_ToolBox学习之一——Extract之Split
  10. STM32实现8*8点阵动态显示