python时间和日期处理

时间概念

时间戳:格林威治时间1970年01月01日00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数
元组struct_time:python定义了一个时间类,包含9个属性:

属性 描述
tm_year
tm_mon 月,范围1~12
tm_mday 日,范围1~31
tm_hour 小时,范围0~23
tm_min 分钟,范围0~59
tm_sec 秒,范围0~61(60或61是闰秒)
tm_wday 星期,范围0~6(周一为0)
tm_yday 一年内第几天,范围0~366
tm_isdst 夏时令,-1,0,1

五种时间形式

>>> import time

>>> time.time()     # 时间戳
1569851683.5405068
>>> time.localtime()    # struct_time类型的本地时间
time.struct_time(tm_year=2019, tm_mon=9, tm_mday=30, tm_hour=21, tm_min=55, tm_sec=10, tm_wday=0, tm_yday=273, tm_isdst=0)
>>> time.gmtime()       # struct_time类型的utc时间
time.struct_time(tm_year=2019, tm_mon=9, tm_mday=30, tm_hour=13, tm_min=55, tm_sec=25, tm_wday=0, tm_yday=273, tm_isdst=0)
>>> datetime.now()              # datetime类型的本地时间
datetime.datetime(2019, 9, 30, 23, 34, 31, 572628)
>>>datetime.utcnow()                # datetime类型的utc时间
datetime.datetime(2019, 9, 30, 15, 35, 36, 275686) 

时间形式的相互转化

>>> import time
>>> import calendar
>>> from datetime import datetime

>>> time_stamp = time.time()
>>> local_time = time.localtime()
>>> utc_time = time.gmtime()
>>> local_datetime = datetime.now()
>>> utc_datetime = datetime.utcnow()

>>> time.localtime(time_stamp)  # 时间戳 --> struct_time类型的本地时间
time.struct_time(tm_year=2019, tm_mon=9, tm_mday=30, tm_hour=22, tm_min=10, tm_sec=37, tm_wday=0, tm_yday=273, tm_isdst=0)

>>> time.gmtime(time_stamp) # 时间戳 --> struct_time类型的utc时间
time.struct_time(tm_year=2019, tm_mon=9, tm_mday=30, tm_hour=14, tm_min=10, tm_sec=37, tm_wday=0, tm_yday=273, tm_isdst=0)

>>> time.mktime(local_time)    # struct_time类型的本地时间 --> 时间戳
1569856100.0

>>> calendar.timegm(utc_time)  # struct_time类型的utc时间 --> 时间戳
1569856340

>>> local_time.timestamp()     # datetime类型的本地时间 --> 时间戳
1569857909.824448

>>> datetime.fromtimestamp(time_stamp)        # 时间戳 --> datetime类型的本地时间
datetime.datetime(2019, 9, 30, 22, 10, 37, 822788)

>>> datetime.utcfromtimestamp(time_stamp)     # 时间戳 --> datetime类型的utc时间
datetime.datetime(2019, 9, 30, 14, 10, 37, 822788)

>>> local_datetime.timetuple()                # datetime类型的本地时间 -- > struct_time类型的本地时间
time.struct_time(tm_year=2019, tm_mon=9, tm_mday=30, tm_hour=23, tm_min=42, tm_sec=27, tm_wday=0, tm_yday=273, tm_isdst=-1)

>>> utc_datetime.utctimetuple()              # # datetime类型的utc时间 -- > struct_time类型的utc时间
time.struct_time(tm_year=2019, tm_mon=9, tm_mday=30, tm_hour=15, tm_min=44, tm_sec=19, tm_wday=0, tm_yday=273, tm_isdst=0)

时间形式转化为字符串

>>> import time
>>> from datetime import datetime

>>> time_stamp = time.time()
>>> local_time = time.localtime()
>>> utc_time = time.gmtime()

>>> time.ctime(time_stamp)    # 时间戳 --> 本地时间字符串
'Mon Sep 30 22:10:37 2019'
>>> time.asctime(local_time)  # struct_time类型的本地时间 --> 字符串
'Mon Sep 30 23:00:26 2019'
>>> time.asctime(utc_time)    # struct_time类型的utc时间 --> 字符串
'Mon Sep 30 15:03:30 2019'

>>> time.strftime('%Y-%m-%d %H:%M:%S, %w', local_time())  # struct_time类型的本地时间 --> 自定义字符串
'2019-09-30 23:15:14, 1'
>>> time.strftime('%d/%m/%Y', utc_time)                   # struct_time类型的utc时间 --> 自定义字符串
'30/09/2019'

>>> datetime.strptime('2019-09-30 23:20:00, 1', '%Y-%m-%d %H:%M:%S, %w')  # 字符串 --> datetime.datetime格式(字符串与时间格式要完全一致)
datetime.datetime(2019, 9, 30, 23, 20)

datetime类型时间

import datetime

>>> today = datetime.datetime.now()  # datetime.datetime(2019, 9, 30, 23, 48, 6, 74148)
>>> int(today.strftime('%w'))  # 1(周一) ~ 7(周日)
1

日期的加减法

>>> today + datetime.timedelta(days=1)       # +1天
datetime.datetime(2019, 10, 1, 23, 48, 6, 74148)
>>> today + datetime.timedelta(minutes=1)    # +1分钟
datetime.datetime(2019, 9, 30, 23, 49, 6, 74148)
>>> today - datetime.timedelta(seconds=3600)  # -3600秒
datetime.datetime(2019, 9, 30, 22, 48, 6, 74148)

原文地址:https://www.cnblogs.com/ericccc/p/11614572.html

时间: 2024-11-08 17:18:55

python时间和日期处理的相关文章

Python时间,日期,时间戳之间转换

#1.将字符串的时间转换为时间戳方法: a = "2013-10-10 23:40:00" #将其转换为时间数组 import time timeArray = time.strptime(a, "%Y-%m-%d %H:%M:%S") # 转换为时间戳: timeStamp = int(time.mktime(timeArray)) timeStamp == 1381419600 # 字符串格式更改如a = "2013-10-10 23:40:00&qu

python 时间和日期

获取当前时间: import time ticks = time.time() print('当前时间戳为:',ticks) localtime = time.localtime(time.time()) print('本地时间是:',localtime) 获取格式化时间:你可以根据需求选取各种格式,但是最简单的获取可读的时间模式的函数是asctime(): localtime = time.asctime(time.localtime(time.time())) print('本地时间是:',

Python的时间与日期

时间与日期 (time, datetime包) Python具有良好的时间和日期管理功能.实际上,计算机只会维护一个挂钟时间(wall clock time),这个时间是从某个固定时间起点到现在的时间间隔.时间起点的选择与计算机相关,但一台计算机的话,这一时间起点是固定的.其它的日期信息都是从这一时间计算得到的.此外,计算机还可以测量CPU实际上运行的时间,也就是处理器时间(processor clock time),以测量计算机性能.当CPU处于闲置状态时,处理器时间会暂停. 1.time包

Python标准库02 时间与日期 (time, datetime包)

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Python具有良好的时间和日期管理功能.实际上,计算机只会维护一个挂钟时间(wall clock time),这个时间是从某个固定时间起点到现在的时间间隔.时间起点的选择与计算机相关,但一台计算机的话,这一时间起点是固定的.其它的日期信息都是从这一时间计算得到的.此外,计算机还可以测量CPU实际上运行的时间,也就是处理器时间(processor clock time),以测量计

(转)Python标准库02 时间与日期 (time, datetime包)

原文:http://www.cnblogs.com/vamei/archive/2012/09/03/2669426.html https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431937554888869fb52b812243dda6103214cd61d0c2000 https://www.cnblogs.com/jhao/p/6678921.html Python具

python时间处理

在处理数据和进行机器学习的时候,遇到了大量需要处理的时间序列.比如说:数据库读取的str 和 time 的转化,还有 time 的差值计算.总结一下 python 的时间处理方面的内容,希望对大家 学习python有所帮助 . 一.字符串和时间序列的转化 ·  time.strptime()  :字符串=> 时间序列 ·  time.strftime()  :时间序列=> 字符串 import  time start = "2017-01-01" end = "2

浅谈Python时间模块

今天简单总结了一下Python处理时间和日期方面的模块,主要就是datetime.time.calendar三个模块的使用.希望这篇文章对于学习Python的朋友们有所帮助 首先就是模块的调用,很多IDE都已经安装好了很多Python经常使用到的模块,所以我们暂时不需要安装模块了. 1 import datetime 2 import time 3 import calendar 1.获取到此时的准确时间 1 # 获取此时的时间 2 print time.localtime() 输出格式为: 1

python时间格式处理

# -*- coding: utf-8 -*- from datetime import datetime import time # 取当前时间,返回string类型 now_str = time.strftime("%Y-%m-%d %H:%M:%S") print (type(now_str)) print now_str print '---' # 取当前时间,返回datetime类型 print (type(datetime.now())) print datetime.no

python时间处理之datetime

python时间处理之datetime 标签: pythondateimportstringc 2012-09-12 23:21 20910人阅读 评论(0) 收藏 举报  分类: Python系列(12)  版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 运行环境:Python3.4 [python] view plain copy # -*- coding: utf-8 -*- #datetime类 #datetime是date与time的结合体,包括date与tim