15个例子,掌握Python日期时间处理
日常工作中,用 Python 处理时间格式的数据是非常常见的,今天就来分享 DateTime 相关的示例。 1使用 time 模块展示当前日期和时间import time from time import gmtime, strftime t = time.localtime() print (time.asctime(t)) print(strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime())) print(strftime("%A", gmtime())) print(strftime("%D", gmtime())) print(strftime("%B", gmtime())) print(strftime("%y", gmtime())) # Convert seconds into GMT date print(strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime(1234567890)))
Output: Sun May 7 09:30:37 2017 Sun, 07 May 2017 04:00:37 +0000 Sunday 05/07/17 May 17 Fri, 13 Feb 2009 23:31:30 +0000 2将天、小时、分钟转换为秒SECONDS_PER_MINUTE = 60 SECONDS_PER_HOUR = 3600 SECONDS_PER_DAY = 86400 #Read the inputs from user days = int(input("Enter number of Days: ")) hours = int(input("Enter number of Hours: ")) minutes = int(input("Enter number of Minutes: ")) seconds = int(input("Enter number of Seconds: ")) #Calculate the days, hours, minutes and seconds total_seconds = days * SECONDS_PER_DAY total_seconds = total_seconds + ( hours * SECONDS_PER_HOUR) total_seconds = total_seconds + ( minutes * SECONDS_PER_MINUTE) total_seconds = total_seconds + seconds #Display the result print("Total number of seconds: ","%d"%(total_seconds))
Output: Enter number of Days: 5 Enter number of Hours: 36 Enter number of Minutes: 24 Enter number of Seconds: 15 Total number of seconds: 563055 3使用 Pandas 获取当前日期和时间import pandas as pd print(pd.datetime.now()) print(pd.datetime.now().date()) print(pd.datetime.now().year) print(pd.datetime.now().month) print(pd.datetime.now().day) print(pd.datetime.now().hour) print(pd.datetime.now().minute) print(pd.datetime.now().second) print(pd.datetime.now().microsecond)
Output: 2018-01-19 16:08:28.393553 2018-01-19 2018 1 19 16 8 28 394553 4将字符串转换为日期时间对象from datetime import datetime from dateutil import parser d1 = "Jan 7 2015 1:15PM" d2 = "2015 Jan 7 1:33PM" # If you know date format date1 = datetime.strptime(d1, "%b %d %Y %I:%M%p") print(type(date1)) print(date1) # If you don"t know date format date2 = parser.parse(d2) print(type(date2)) print(date2)
Output: class "datetime.datetime" 2015-01-07 13:15:00 class "datetime.datetime" 2015-01-07 13:33:00 5以毫秒为单位获取当前时间import time milliseconds = int(round(time.time() * 1000)) print(milliseconds)
Output: 15163642706506以 MST、EST、UTC、GMT 和 HST 获取当前日期时间from datetime import datetime from pytz import timezone mst = timezone("MST") print("Time in MST:", datetime.now(mst)) est = timezone("EST") print("Time in EST:", datetime.now(est)) utc = timezone("UTC") print("Time in UTC:", datetime.now(utc)) gmt = timezone("GMT") print("Time in GMT:", datetime.now(gmt)) hst = timezone("HST") print("Time in HST:", datetime.now(hst))
Output: Time in MST: 2017-01-19 06:06:14.495605-07:00 Time in EST: 2017-01-19 08:06:14.496606-05:00 Time in UTC: 2017-01-19 13:06:14.496606+00:00 Time in GMT: 2017-01-19 13:06:14.496606+00:00 Time in HST: 2017-01-19 03:06:14.497606-10:00 7从给定的日期当中获取星期几import datetime dayofweek = datetime.date(2010, 6, 16).strftime("%A") print(dayofweek) # weekday Monday is 0 and Sunday is 6 print("weekday():", datetime.date(2010, 6, 16).weekday()) # isoweekday() Monday is 1 and Sunday is 7 print("isoweekday()", datetime.date(2010, 6, 16).isoweekday()) dayofweek = datetime.datetime.today().strftime("%A") print(dayofweek) print("weekday():", datetime.datetime.today().weekday()) print("isoweekday()", datetime.datetime.today().isoweekday())
Output: Wednesday weekday(): 2 isoweekday() 3 Friday weekday(): 4 isoweekday() 5 8计算两个日期时间对象之间的时差import datetime from datetime import timedelta datetimeFormat = "%Y-%m-%d %H:%M:%S.%f" date1 = "2016-04-16 10:01:28.585" date2 = "2016-03-10 09:56:28.067" diff = datetime.datetime.strptime(date1, datetimeFormat) - datetime.datetime.strptime(date2, datetimeFormat) print("Difference:", diff) print("Days:", diff.days) print("Microseconds:", diff.microseconds) print("Seconds:", diff.seconds)
Output: Difference: 37 days, 0:05:00.518000 Days: 37 Microseconds: 518000 Seconds: 300 9将 5 分钟添加到 Unix 时间戳import datetime import calendar future = datetime.datetime.utcnow() + datetime.timedelta(minutes=5) print(calendar.timegm(future.timetuple()))
Output: 1621069619 10在 Python 中遍历一系列日期import datetime start = datetime.datetime.strptime("21-06-2020", "%d-%m-%Y") end = datetime.datetime.strptime("05-07-2020", "%d-%m-%Y") date_generated = [start + datetime.timedelta(days=x) for x in range(0, (end - start).days)] for date in date_generated: print(date.strftime("%d-%m-%Y"))
Output: 21-06-2020 22-06-2020 23-06-2020 24-06-2020 25-06-2020 26-06-2020 27-06-2020 28-06-2020 29-06-2020 30-06-2020 01-07-2020 02-07-2020 03-07-2020 04-07-2020 11巴黎时间更改为纽约时间import pendulum in_paris = pendulum.datetime(2016, 8, 7, 22, 24, 30, tz="Europe/Paris") print(in_paris) in_us = in_paris.in_timezone("America/New_York") print(in_us)
Output: 2016-08-07T22:24:30+02:00 2016-08-07T16:24:30-04:00 12使用 Python 获得最后7个工作日from datetime import date from datetime import timedelta today = date.today() for i in range(7): d = today - timedelta(days=i) if d.weekday() < 5: print(d)
Output: 2021-05-18 2021-05-17 2021-05-14 2021-05-13 2021-05-12 13从今天的日期和一个人的生日推算年龄from datetime import date def calculate_age(born): today = date.today() try: birthday = born.replace(year=today.year) except ValueError: birthday = born.replace(year=today.year, month=born.month + 1, day=1) if birthday > today: return today.year - born.year - 1 else: return today.year - born.year print(calculate_age(date(2001, 3, 1)))
Output: 20 14获得本月的第一个星期二import calendar from datetime import datetime c = calendar.Calendar(firstweekday=calendar.SUNDAY) monthcal = c.monthdatescalendar(datetime.today().year, datetime.today().month) try: tues = [day for week in monthcal for day in week if day.weekday() == calendar.TUESDAY and day.month == datetime.today().month][0] print(tues) except IndexError: print("No date found")
Output: 2021-05-04 15将整数转换为日期对象from datetime import datetime i = 1545730073 timestamp = datetime.fromtimestamp(i) print(timestamp) print(type(timestamp))
Output: 2018-12-25 14:57:53
智能补货系统和库存预测的实现逻辑无论是线上还是线下场景,无论是餐饮还是零售,打造供应链壁垒成为了首要目标,而智能盘点补货正是其中的核心。由此,以最优化的供应链库存来满足客户的需求是一个企业业务核心之一,如何降低渠
高性能北斗模块带你了解核心星座部署完成的北斗三号全球系统2019年12月16日15时22分,我国在西昌卫星发射中心以一箭双星方式成功发射第五十二五十三颗北斗导航卫星。两颗卫星均属于中圆地球轨道卫星,是我国目前在建的北斗三号系统的组网卫星
传统企业IT架构转型不是简单去追逐中台,微服务等热点今天准备和大家分享下关于企业数字化,传统企业IT架构转型方面的一些思考。做互联网,企业信息化和IT系统建设,企业数字化转型相关工作的可能都知道,最近几年对于中台,微服务,云原生,消
78官测FrS假面骑士Fourze文章转自78DM各位好久不见啊,开学以来一个月忙的一批,最近好点儿不多,就补补之前欠的评测,这两天小小的爆发一波(笑)这次带来的是万代21年9月发售的frs假面骑士fourze。今
广州圈量科技新零售私域流量营销工具提供商圈量SCRM是腾讯官方授权企业微信服务商,是一个私域流量运营SAAS工具。以线索获取沉淀客资孵化培育精细化锁客逐层推进复购为营销闭环,具备全链路营销智慧社群智能中台运营能力,助力商
面向工业物联网应用的低成本高性能低功耗串口WiFi模块在工业领域,工业控制自动化状态监测资产管理等物联网应用也是随处可见,利用串口WiFi模块把物联网和边缘计算技术用到工业物联网中,赋能工业领域,从而提升企业的设备健康状态和生产绩效,
本田发大招了正式发布全新纯电动车品牌eN在如火如荼的电动车领域本田一直无所作为眼看着新势力车企与传统自主车企扶摇直上后知后觉的本田终于开始发力Honda中国电动化战略发布会正式发布了全新纯电动车品牌eN率先官宣三款概念车
模玩资讯万代EVAFRAME福音战士新剧场版最终章日本万代公司食玩事业部BANDAICANDY,以福音战士新剧场版为主题融入可动设计的EVAFRAME系列在第一弹屋岛作战套组第二弹Q最终决战套组等商品后,又将推出最新商品EVAFR
故事很长喜欢就去追,不爱就别暧昧01hr我的一个女同学,近期遇到了一个困扰自己的问题。多年未联系的一位初中男同学,突然添加她的微信,寒暄之后,男同学就开始询问她的生活情况。女同学也礼貌性地一一作出了回答,但心里总
故事与TA用力的生活,只因想要守护更好的人一hr2013年,公司接了一个500强品牌的全国路演,那段时间项目很密集,人手不够用,我被临时调去项目组支援,负责盯路演活动的现场。那一站是在上海港汇广场。晚上6点多,活动快要结束
故事很长以后我不在你身边,你都要过得好好的1hr阿晨是我男朋友的哥们儿,我们几个经常一起吃饭。他是个很逗的男生,一个会说话的男生再加上有品位,所以他身边从来不缺女孩子。我们喜欢打趣儿他真羡慕阿晨,生活丰富多彩。以后我不在你