电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

Python如何進行時間處理

瀏覽:120日期:2022-07-14 18:02:44

我們會經(jīng)常遇到對時間的處理,用python來進行時間處理簡直不要太方便了,這一期就給大家介紹一下python的時間處理!

用python進行時間處理主要會用到time,calendar,datetime及pandas這幾個庫,其中又以后兩個最為常用。

這一期我們主要介紹一下用datetime庫進行時間處理的常用操作。

1. datetime基礎(chǔ)

1.1 獲取當前時間

import timeimport datetime as dtm## 用datetime獲取當前時間dtime = dtm.datetime.now() # dtm.datetime.utcnow() dtime# datetime.datetime(2018, 12, 15, 13, 1, 30, 200649) # 年、月、日、時、分、秒、微秒dtime.year, dtime.month, dtime.day# (2018, 12, 15)dtm.datetime.strftime(dtm.datetime.now(), ’%Y-%m-%d %H:%M:%S’)# ’2018-12-15 20:47:45’# 用time庫獲取當前時間:time.strftime(’%Y-%m-%d %H:%M:%S’, time.localtime(time.time( )))# ’2018-12-15 20:49:17’time.strftime('%Y-%m-%d %H:%M:%S') # ’2018-12-15 20:50:11’

1.2 datetime基本操作

from datetime import datetime, date, time# Using datetime.combine()d = date(2005, 7, 14)t = time(12, 30)datetime.combine(d, t)datetime(2005, 7, 14, 12, 30)# datetime 類的方法:datetime.date()datetime.time()# 可以用str()直接將時間格式轉(zhuǎn)化為字符串dt = datetime(2005, 7, 14, 12, 30)# datetime(%Y,%m,%d,%H,%M,%S): # datetime共有6個參數(shù),分別代表的是年月日時分秒。其中年月日是必須要傳入的參數(shù),時分秒可以不傳入,默認全為零。# >>> # Using datetime.timetuple() to get tuple of all attributestt = dt.timetuple()for it in tt: print(it)# 2005 # year# 7 # month# 14 # day# 12 # hour# 30 # minute# 0 # second# 3 # weekday (0 = Monday, 6 = Sunday)# 195 # number of days since 1st January# -1 # dst - method tzinfo.dst() returned None##################################################### 返回今天是周幾x=’2018-05-27’int(dtm.datetime(int(x[ :4]),int(x[5:7]),int(x[8: ])).strftime(’%w’))# 0 表示周日dtm.datetime(2017, 1, 1).strftime('%w') # 0-6 SUN-SAT

2. 時間戳的轉(zhuǎn)換

Unix時間戳: Unix 中常常使用一個數(shù)字記錄時間,表示距離起始時間相差的秒數(shù)(根據(jù)系統(tǒng)的精度,時間單位有時毫秒,有時是納秒)。大于 0 表示在起始時間之后,小于 0 就表示在起始時間之前。這個數(shù)字有時是浮點類型、有時是整數(shù)類型,但都稱這個數(shù)字為 Unix 時間戳(Timestamp)

import timeimport datetime as dtm## 獲取當前時間dtime = dtm.datetime.now() # dtm.datetime.utcnow() # 時間戳ans_time = int(time.mktime(dtime.timetuple()))ans_time# 1535860540# 時間戳的轉(zhuǎn)換-1t1 = datetime.datetime.fromtimestamp(ans_time) # local timet1# datetime.datetime(2018, 9, 2, 11, 55, 40)# 也可以用time模塊的localtime()方法: time.localtime(ans_time)# 時間戳的轉(zhuǎn)換-2t2 = datetime.datetime.utcfromtimestamp(ans_time) # utc timet2# datetime.datetime(2018, 9, 2, 3, 55, 40)t2.strftime('%Y--%m--%d %H:%M:%S')# 2018--09--02 03:55:40# 時間戳的轉(zhuǎn)換-3pd.to_datetime(ans_time,unit=’s’) # utc time# Timestamp(’2018-09-02 03:55:40’)

3. 時間格式的轉(zhuǎn)換

strftime 即 string format time,用來將時間格式化成字符串 strptime 即 string parse time,用來將字符串解析成時間

import datetime as dtmstart = dtm.datetime(2011,1,7,1,21,1) # datetime.datetime(2011, 1, 7, 1, 21, 1)start.strftime(’%Y-%m-%d %H:%M:%S’)# ’2011-01-07 01:21:01’dtm.datetime.strptime(’2011-01-07 01:21:01’,’%Y-%m-%d %H:%M:%S’)# datetime.datetime(2011, 1, 7, 1, 21, 1)str(start)# ’2011-01-07 01:21:01’start.strftime('%Y-%m-%d 00:00:00')# ’2011-01-07 00:00:00’# The strftime method formats a datetime as a string: In [1]: dt.strftime(’%m/%d/%Y %H:%M’)Out[1]: ’10/29/2011 20:30’# Strings can be converted (parsed) into datetime objects using the strptime function: In [2]: dtm.datetime.strptime(’20091031’, ’%Y%m%d’)Out[2]: datetime.datetime(2009, 10, 31, 0, 0)>>> zdtm.datetime(2012, 9, 23, 21, 37, 4, 177393)>>> nice_z = dtm.datetime.strftime(z, ’%A %B %d, %Y’)>>> nice_z’Sunday September 23, 2012’# 字符串形式的時間格式轉(zhuǎn)化為時間格式dt = dtm.datetime.strptime('21/11/06 16:30', '%d/%m/%y %H:%M')# 時間格式轉(zhuǎn)化為字符串# time.strftime( ’%Y-%m-%d’ , time.localtime(time.time()))# >>> # Formatting datetimeprint(dt.strftime('%A, %d. %B %Y %I:%M%p'))# ’Tuesday, 21. November 2006 04:30PM’’The {1} is {0:%d}, the {2} is {0:%B}, the {3} is {0:%I:%M%p}.’.format(dt, 'day', 'month', 'time')# ’The day is 21, the month is November, the time is 04:30PM.’’’’Datetime format specification:%Y Four-digit year%y Two-digit year%m Two-digit month [01, 12] %d Two-digit day [01, 31]%H Hour (24-hour clock) [00, 23]%I Hour (12-hour clock) [01, 12]%M Two-digit minute [00, 59]%S Second [00, 61] (seconds 60, 61 account for leap seconds) %w Weekday as integer [0 (Sunday), 6]

datetime.strptime解析時間需要輸入相應(yīng)的時間格式,而dateutil第三方庫中的parser.parse方法則更加靈活。

dateutil.parser 有時候也會有一定的麻煩,比如 ’42’會被解析為2042 年加上今天的日期:datetime.datetime(2042, 9, 1, 0, 0)

from dateutil.parser import parseparse(’2011-01-03’) # datetime.datetime(2011, 1, 3, 0, 0)parse(’Jan 31, 1997 10:45 PM’) # datetime.datetime(1997, 1, 31, 22, 45)parse(’6/12/2011’, dayfirst=True) # datetime.datetime(2011, 12, 6, 0, 0)# pandas:datestrs = [’2011-07-06 12:00:00’, ’2011-08-06 00:00:00’]pd.to_datetime(datestrs)# DatetimeIndex([’2011-07-06 12:00:00’, ’2011-08-06 00:00:00’], dtype=’datetime64[ns]’, freq=None)

4. Timedelta

timedelta 可以表示兩個時間之間的時間差:

dtm.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)

t1 = dtm.datetime(2018,7,12,15,6,9)t2 = dtm.datetime(2018,9,11,12,33,23)td = t2-t1td# datetime.timedelta(60, 77234) td.days,td.seconds# (60, 77234)# 將timedelta轉(zhuǎn)換為: day, hour, minutedef parse_timedelta(td): ''' transform timedelta to day, hour, minute ''' return td.days, td.seconds//3600, (td.seconds//60)%60parse_timedelta(td)# (60, 21, 27)

利用timedelta進行時間外推:

import datetime as dtm# 100天前的日期(dtm.datetime.now() - dtm.timedelta(days = 100)).strftime('%Y-%m-%d') def TaftD(FORMAT_DATE,i): ''' 返回幾天后的時間 ''' return (dtm.datetime.strptime(FORMAT_DATE, ’%Y-%m-%d’) + dtm.timedelta(days = i)).strftime(’%Y-%m-%d’)def TaftH(FORMAT_TIME,i): ''' 返回幾小時后的時間 ''' return (dtm.datetime.strptime(FORMAT_TIME, ’%Y-%m-%d %H:%M:%S’) + dtm.timedelta(hours = i)).strftime(’%Y-%m-%d %H:%M:%S’)TaftD('2018-05-17', -2)# ’2018-05-15’TaftH('2018-05-17 10:40:00', 2)# ’2018-05-17 12:40:00’

這一期主要介紹了是datetime進行時間處理的一些常用操作,后續(xù)我們會介紹pandas中的一些時間處理的操作。歡迎點贊轉(zhuǎn)發(fā)期待哦~

以上就是Python如何進行時間處理的詳細內(nèi)容,更多關(guān)于Python時間處理的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 领袖户外_深度旅游、摄影旅游、小团慢旅行、驴友网 | 太空舱_民宿太空舱厂家_移动房屋太空舱价格-豪品建筑 | 外贸资讯网 - 洞悉全球贸易,把握市场先机| 翅片管散热器价格_钢制暖气片报价_钢制板式散热器厂家「河北冀春暖气片有限公司」 | 萃取箱-萃取槽-PVC萃取箱厂家-混合澄清槽- 杭州南方化工设备 | 无菌实验室规划装修设计-一体化实验室承包-北京洁净净化工程建设施工-北京航天科恩实验室装备工程技术有限公司 | 附着力促进剂-尼龙处理剂-PP处理剂-金属附着力处理剂-东莞市炅盛塑胶科技有限公司 | 铸铁平台,大理石平台专业生产厂家_河北-北重机械| 阴离子_阳离子聚丙烯酰胺厂家_聚合氯化铝价格_水处理絮凝剂_巩义市江源净水材料有限公司 | Dataforth隔离信号调理模块-信号放大模块-加速度振动传感器-北京康泰电子有限公司 | 工业电炉,台车式电炉_厂家-淄博申华工业电炉有限公司 | 气象监测系统_气象传感器_微型气象仪_气象环境监测仪-山东风途物联网 | 专业广州网站建设,微信小程序开发,一物一码和NFC应用开发、物联网、外贸商城、定制系统和APP开发【致茂网络】 | pbootcms网站模板|织梦模板|网站源码|jquery建站特效-html5模板网 | 一体化净水器_一体化净水设备_一体化水处理设备-江苏旭浩鑫环保科技有限公司 | 附着力促进剂-尼龙处理剂-PP处理剂-金属附着力处理剂-东莞市炅盛塑胶科技有限公司 | 聚氨酯催化剂K15,延迟催化剂SA-1,叔胺延迟催化剂,DBU,二甲基哌嗪,催化剂TMR-2,-聚氨酯催化剂生产厂家 | 石栏杆_青石栏杆_汉白玉栏杆_花岗岩栏杆 - 【石雕之乡】点石石雕石材厂 | 外贸资讯网 - 洞悉全球贸易,把握市场先机 | 领袖户外_深度旅游、摄影旅游、小团慢旅行、驴友网 | 杭州顺源过滤机械有限公司官网-压滤机_板框压滤机_厢式隔膜压滤机厂家 | 纸布|钩编布|钩针布|纸草布-莱州佳源工艺纸布厂 | 真空搅拌机-行星搅拌机-双行星动力混合机-广州市番禺区源创化工设备厂 | 合肥办公室装修 - 合肥工装公司 - 天思装饰 | 招商帮-一站式网络营销服务|搜索营销推广|信息流推广|短视视频营销推广|互联网整合营销|网络推广代运营|招商帮企业招商好帮手 | 扒渣机厂家_扒渣机价格_矿用扒渣机_铣挖机_撬毛台车_襄阳永力通扒渣机公司 | 阿米巴企业经营-阿米巴咨询管理-阿米巴企业培训-广东键锋企业管理咨询有限公司 | 法兰螺母 - 不锈钢螺母制造厂家 - 万千紧固件--螺母街 | 山东聚盛新型材料有限公司-纳米防腐隔热彩铝板和纳米防腐隔热板以及钛锡板、PVDF氟膜板供应商 | 集菌仪厂家_全封闭_封闭式_智能智能集菌仪厂家-上海郓曹 | 环保袋,无纺布袋,无纺布打孔袋,保温袋,环保袋定制,环保袋厂家,环雅包装-十七年环保袋定制厂家 | 上海logo设计| 佛山市钱丰金属不锈钢蜂窝板定制厂家|不锈钢装饰线条|不锈钢屏风| 电梯装饰板|不锈钢蜂窝板不锈钢工艺板材厂家佛山市钱丰金属制品有限公司 | 无锡网站建设_小程序制作_网站设计公司_无锡网络公司_网站制作 | 杭州画室_十大画室_白墙画室_杭州美术培训_国美附中培训_附中考前培训_升学率高的画室_美术中考集训美术高考集训基地 | 蒸汽吸附分析仪-进口水分活度仪|康宝百科| 高压绝缘垫-红色配电房绝缘垫-绿色高压绝缘地毯-上海苏海电气 | 潍坊大集网-潍坊信息港-潍坊信息网| 安徽华耐泵阀有限公司-官方网站| 河南卓美创业科技有限公司-河南卓美防雷公司-防雷接地-防雷工程-重庆避雷针-避雷器-防雷检测-避雷带-避雷针-避雷塔、机房防雷、古建筑防雷等-山西防雷公司 | 全自动贴标机-套标机-工业热风机-不干胶贴标机-上海厚冉机械 |