范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

随心所欲地用Python处理时间(1ampampamp2)

  来源:AI入门学习
  作者:小伍哥
  datetime模块提供了用于处理日期和时间的类和对应的方法,一般用于处理年、月、日、时、分、秒的统计和计算等需求。在支持日期时间数学运算的同时,实现的关注点更着重于如何能够更有效地解析其属性用于格式化输出和数据操作。
  学习该模块,首先要有一个概念:日期和时间,要不然会混乱,这里进行狭义的理解即可:日期是日期,时间是时间,日常生活中有时候并没有很好的去区分。
  日期:年月日,如 20210612
  时间:时分秒,如 20:45:50
  Python标准库中包含日期(date)和时间(time)的数据类型,还有日历方面的功能。要比较系统的学习该模块,需要了解下面的两个概念。
  UTC(全球标准时间): 是全球范围内计时的科学标准,它基于精心维护的原子钟,在全球范围内精确到微秒,由于英文(CUT)和法文(TUC)的缩写不同,作为妥协,简称UTC。作为全球最精确的时间系统,天文学家、航海家、"太空跟踪网"(DSN) 以及其他科学性学科都使用它,它的参考点是英国格林威治标准时间(GMT):地球本初子午线的午夜,也是 UTC 的午夜 (00:00:00.000000)。本地时间是根据地球上不同时区所处的位置调整 UTC 得来的,比如当美国加州的太平洋时间为正午 12:00:00 时,UTC 为 20:00:00。
  夏令时(DST): 表示为了节约能源, 人为规定时间的意思。也叫夏时制,夏时令(Daylight Saving Time:DST),又称"日光节约时制"和"夏令时间",在这一制度实行期间所采用的统一时间称为"夏令时间"。一般在天亮早的夏季人为将时间调快一小时,可以使人早起早睡,减少照明量,以充分利用光照资源,从而节约照明用电。各个采纳夏时制的国家具体规定不同。全世界有近110个国家每年要实行夏令时。
  感知型"和"简单型"对象: 日期和时间对象可以根据它们是否包含时区信息而分为"感知型"和"简单型"两类。充分掌握应用性算法和政治性时间调整信息例如时区和夏令时的情况下,一个 感知型 对象就能相对于其他感知型对象来精确定位自身时间点。感知型对象是用来表示一个没有解释空间的固定时间点。简单型对象没有包含足够多的信息来无歧义地相对于其他 date/time 对象来定位自身时间点。
  时间戳: Unix时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp) import time  time.time()  1625483470.3409266
  一、datetime模块概
  Python内置的时间模块datetime包含下面的模块包含六个类和两个常数,提供了用于处理日期和时间的类和对应的方法,一般用于处理年、月、日、时、分、秒的统计和计算等需求,且这些类型的对象都是不可变的。最常用的是datetime.datetime ,有些人误以为就一个模块,其实是datetime模块下的datetime类。
  常量、类或方法名
  注解
  datetime.date
  一个理想化的简单型日期,它假设当今的公历在过去和未来永远有效。属性包含: year, month, day。
  datetime.time
  一个独立于任何特定日期的理想化时间,它假设每一天都恰好等于 24*60*60 秒。这里没有"闰秒"的概念) 包含属性:hour、minute、second、microsecond 、tzinfo。
  datetime.datetime
  是日期和时间的结合,属性包含year、month、day、hour、minute、second、 microsecond、 tzinfo.表示日期时间
  datetime.timedelta
  表示两个 date 对象或者 time 对象,或者 datetime 对象之间的时间间隔,精确到微秒。
  datetime.tzinfo
  一个描述时区信息对象的抽象基类。用来给datetime和time类提供自定义的时间调整概念(例如处理时区和/或夏令时)。
  datetime.timezone
  一个实现了tzinfo抽象基类的子类,用于表示相对于世界标准时间(UTC)的偏移量。
  datetime.MINYEAR
  常量,表示年份允许的最小值为1
  datetime.MAXYEAR
  常量,表示年份允许的最大值为9999
  书接上回,接着写 二、datetime.date类
  1、date类介绍
  作用: date类用来处理日期信息
  语法: date类是datetime的内嵌类,实例化语法:datetime.date(year, month, day)
  参数: year年份、month月份及day日期,所有参数都是必要的, 参数必须是在下面范围内的整数
  MINYEAR <= year <= MAXYEAR
  1 <= month <= 12
  1 <= day<= 给定年月对应的天数
  如果参数不在这些范围内,则抛出 ValueError 异常。 import datetime t = datetime.date(2019,8,26) print(type(t)) print(t.day,t.month,t.year) #  26 8 2019
  通过内置函数dir,可以查看date类的所有方法和属性 from datetime import date print(dir(date)) ["ctime", "day", "fromisocalendar", "fromisoformat", "fromordinal",  "fromtimestamp", "isocalendar", "isoformat", "isoweekday", "max",  "min", "month", "replace", "resolution", "strftime", "timetuple",  "today", "toordinal", "weekday", "year"]
  2、类方法
  date.today()
  作用: 返回当前的本地日期,等价于date.fromtimestamp(time.time())。 from datetime import date  date.today() datetime.date(2021, 7, 4)
  date.fromtimestamp()
  作用:返回对应于POSIX时间戳的当地时间,例如 time.time() 返回的就是时间戳。这可能引发 OverflowError,如果时间戳数值超出所在平台 C localtime() 函数的支持范围的话,并且会在 localtime() 出错时引发 OSError。通常该数值会被限制在 1970 年至 2038 年之间。请注意在时间戳概念包含闰秒的非 POSIX 系统上,闰秒会被 fromtimestamp() 所忽略。
  在 3.3 版更改: 引发 OverflowError 而不是 ValueError,如果时间戳数值超出所在平台 C localtime() 函数的支持范围的话,并会在 localtime() 出错时引发 OSError 而不是 ValueError。
  用法: date.fromtimestamp(timestamp) from datetime import date date.fromtimestamp(1339119900000/1e3).strftime("%Y-%m-%d %H:%M") "2012-06-07 00:00" date.fromtimestamp(1339120800000/1e3).strftime("%Y-%m-%d %H:%M") "2012-06-07 00:00"
  注意: unix时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。
  date.fromordinal()
  作用:返回对应于预期格列高利历序号的日期,其中公元 1 年 1 月 1 晶的序号为 1。
  用法:date.fromordinal(ordinal)from datetime import date d = date.fromordinal(730920) # 730920th day after 1. 1. 0001 d datetime.date(2002, 3, 11)
  date.fromisoformat()
  作用:返回一个对应于以 YYYY-MM-DD 格式给出的 date_string 的 date 对象
  用法:date.fromisoformat(date_string)from datetime import date date.fromisoformat("2019-12-04") datetime.date(2019, 12, 4)
  这是 date.isoformat() 的逆操作。它只支持 YYYY-MM-DD 格式。更通用的要用strptime d.isoformat() "2002-03-11"
  date.fromisocalendar()
  作用: 返回指定 year, week 和 day 所对应 ISO 历法日期的 date。这是函数 date.isocalendar() 的逆操作。
  用法:date.fromisocalendar(year, week, day)
  今年的42周第三天是10月20号date.fromisocalendar(2021, 42, 3) datetime.date(2021, 10, 20)
  3 、类属性
  date.min
  最小的日期 date(MINYEAR, 1, 1) 。 from datetime import date date.min datetime.date(1, 1, 1)
  date.max
  最大的日期 ,date(MAXYEAR, 12, 31)。 from datetime import date date.max datetime.date(9999, 12, 31)
  date.resolution
  两个日期对象的最小间隔,timedelta(days=1)。 from datetime import date date.resolution datetime.timedelta(days=1)
  date.year
  在 MINYEAR 和 MAXYEAR 之间,包含边界。 from datetime import date  d = date.today()#生成一个date对象 d datetime.date(2021, 7, 5) d.year 2021
  date.month
  1 至 12(含) #接上述案例 d.month 7
  date.day
  返回1到指定年月的天数间的数字。 #接上述案例 d.day 5
  3、实例方法
  date.replace()
  作用: 返回一个具有同样值的日期,除非通过任何关键字参数给出了某些形参的新值。
  用法: date.replace(year=self.year, month=self.month, day=self.day) from datetime import date d = date(2002, 12, 31) d.replace(day=26) datetime.date(2002, 12, 26)
  date.timetuple()
  作用: 返回一个 time.struct_time,即 time.localtime() 所返回的类型。hours, minutes 和 seconds 值均为 0,且 DST 旗标值为 -1。
  用法: date. timetuple (d) d = date(2002, 12, 31) date.timetuple(d) time.struct_time(tm_year=2002, tm_mon=12, tm_mday=31,  tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=365,  tm_isdst=-1)
  date.toordinal()
  作用: 返回日期的预期格列高利历序号,其中公元 1 年 1 月 1 日的序号为 1。对于任意 date 对象 d,date.fromordinal(d.toordinal()) == d。 d = date(1, 1, 1) d.toordinal() 1 d = date(2002, 12, 31) d.toordinal() 731215 date.fromordinal(d.toordinal()) datetime.date(2002, 12, 31)
  date.weekday()
  作用: 返回一个整数代表星期几,星期一为0,星期天为6。 date(2002, 12, 4).weekday() 2
  date.isoweekday()
  作用: 返回一个整数代表星期几,星期一为1,星期天为7。 date(2002, 12, 4).isoweekday() 3
  date.isocalendar()
  作用:返回一个由三部分组成的 named tuple 对象: year, week 和 weekday。
  ISO 历法是一种被广泛使用的格列高利历。ISO 年由 52 或 53 个完整星期构成,每个星期开始于星期一结束于星期日。一个 ISO 年的第一个星期就是(格列高利)历法的一年中第一个包含星期四的星期。这被称为 1 号星期,这个星期四所在的 ISO 年与其所在的格列高利年相同。
  例如,2004 年的第一天是星期四,因此 ISO 2004 年的第一个星期开始于 2003 年 12 月 29 日星期一,结束于 2004 年 1 月 4 日星期日.from datetime import date date(2003, 12, 29).isocalendar() (2004, 1, 1) # 旧版本 datetime.IsoCalendarDate(year=2004, week=1, weekday=1) # 新版本 date(2004, 1, 4).isocalendar() datetime.IsoCalendarDate(year=2004, week=1, weekday=7)
  在 3.9 版更改: 结果由元组改为 named tuple。
  date.isoformat()
  作用: 返回一个以 ISO 8601 格式 YYYY-MM-DD 来表示日期的字符串
  用法: date. isoformat (d) from datetime import date date(2021, 10, 1).isoformat() "2021-10-01"
  这是 date.fromisoformat() 的逆操作。
  date.__str__()
  作用: 对于日期对象 d, str(d) 等价于 d.isoformat() 。
  用法:date.__str__(d)from datetime import date date(2021, 10, 1).__str__() "2021-10-01" str(date(2021, 10, 1)) "2021-10-01"
  date.ctime()
  作用: 返回一个表示日期的字符串,在原生 C ctime() 函数 (time.ctime() 会发起调用该函数,但 date.ctime() 则不会) 遵循 C 标准的平台上。 from datetime import date date(2021, 10, 1).ctime() "Fri Oct  1 00:00:00 2021"
  d.ctime() 等效于 time.ctime(time.mktime(d.timetuple())) d=date(2021, 10, 1) import time time.ctime(time.mktime(d.timetuple())) "Fri Oct  1 00:00:00 2021"
  date.strftime()
  作用:翻译下就是 str from time ,将给定格式的日期时间对象转换为字符串。日期时间对象=>字符串 ,控制日期时间对象的输出格式,date、datetime、time对象都支持strftime(format) 方法,可用来创建由一个显式格式字符串所控制的表示时间的字符串。要获取格式指令的完整列表,查看文末列表。
  用法:date.strftime(format)
  掌握了这个方法,随心所以的转换日期格式import datetime dt=datetime.date(2021, 10, 1)#创建一个日期对象 dt.strftime("%Y-%m-%d") "2021-10-01" dt.strftime("%Y年%m月%d日") "2021年10月01日" dt.strftime("%Y//%m//%d") "2021//10//01" dt.strftime("%Y-%m-%d %H:%M") "2021-10-01 00:00" dt.strftime("%A, %d. %B %Y %I:%M%p") "Friday, 01. October 2021 12:00AM"
  date.__format__(format)
  与 date.strftime() 相同。此方法使得为 date 对象指定以 格式化字符串字面值 表示的格式化字符串以及使用 str.format() 进行格式化成为可能。虽然不建议使用这个装逼,但是遇到别人装逼的时候我们得知道。要获取格式指令的完整列表,请看文末附表 import datetime dt=datetime.date(2021, 10, 1)#创建一个日期对象 dt.__format__("%Y年%m月%d日") "2021年10月01日"
  4、支持的运算
  date2 = date1 + timedelta
  date2 等于从 date1 减去 timedelta.days 天。(1)
  date2 = date1 - timedelta
  计算 date2 的值使得 date2 + timedelta == date1。(2)
  timedelta = date1 - date2
  (3)
  date1 < date2
  如果 date1 的时间在 date2 之前则认为 date1 小于 date2 。(4)

全面解析领克05实力,带你解读国产性能SUV每个男孩心中都藏有一个车手梦,住着一个藤原拓海。当我们在电视上看F1WRC等赛事,在路上听到跑车的声浪和轮胎尖叫声,内心会本能地燃起来。可回到现实,很快又感觉到深深的距离感。这些赛破解Win11的TPM及4GB内存限制微软的Win11系统在硬件兼容性上多了一些要求,其中内存要求4GB以上,还要支持TPM及安全启动功能,这让一些老平台不够标准升级。现在U盘神器Rufus3。16Beta2发布了,可时隔120多年!我国再度发现野生濒危植物华白及时隔120多年,科考团队在云南再次发现野生濒危植物华白及。报道称,云南省林业和草原科学院兰花保育团队开展云南省兰科植物资源调查国家重要野生植物种质资源库项目采集时,在云南省镇康县发疯狂!巴斯夫帝斯曼科莱恩等再涨价,最高涨8500近期能耗双控带来的限电限产使得多个地区开工率再创新低,国内数十家塑料化工企业发函调涨。与此同时,海外的情况也没能让大家松一口气。从三季度起,巴斯夫杜邦陶氏等化工企业就陆续发函甚至多关于尼龙(PA)的含卤阻燃改性和无卤阻燃改性那些事尼龙性能优良,应用广泛。未经改性的尼龙其阻燃性能较差,垂直燃烧只能达到UL94V2级,氧指数为24左右,并且在燃烧过程中产生滴落,属于易燃材料,在使用过程中极易引发火灾。因此,对尼布局磷资源!宁德时代拟在湖北投资320亿元建一体化电池材料园10月12日,全球动力电池龙头企业宁德时代新能源科技股份有限公司(300750,下称宁德时代)发布公告,公司拟在湖北省宜昌市高新区投资建设邦普一体化电池材料产业园项目,湖北宜化配套三季度业绩爆表!10家化企增长10倍以上,49家化企预喜10月12日,A股上市公司三季报披露正式拉开帷幕。据数据统计,截至下午五点,已有11家公司发布三季报。此外,6家公司发布了三季报业绩快报,267家公司发布了三季报业绩预告。综合来看浅析国内外工程塑料的发展现状我国工程塑料的发展情况1。1发展历程我国塑料工业会借鉴一些国外塑料的生产工艺进行研发。目前,我国塑料制品的总产量已跃居世界第二位,一些企业的塑料加工技术和设备已经步入了世界先进行列大宗商品的涨价潮是如何影响到你我的日常生活?原材料涨势不断,疫情反反复复,加上能耗双控带来的限电限产,实施有序用电错峰用电限电,各行业纷纷停产停工,限电限产升级的消息瞬间成为各行业热点话题。在这场愈演愈烈的涨价潮中,许多老板ABSPSPC等塑料一次性征收3700元刚涨完价又征收附加费!一次征收3700元!国内限电压力仍存,国外同样面临能源短缺危机,受成本压力因素,越来越多的塑企开始将成本转嫁到附加费上。包括ABSPSPCPCABSSAN都要上海巴斯夫拟建9万吨年MDI项目近日,上海市生态环境局对上海巴斯夫聚氨酯有限公司MDI精制扩建项目影响评价信息进行报批前公示。该项目计划总投资3。4亿元,建设MDI产能9万吨年精制装置以及配套储罐区。项目基本情况
验证通道,正式关闭!已升级iOS14。6的用户无法再降级苹果在上周为iPhone用户推送了iOS14。6正式版固件,修复了上个版本导致的性能下降的问题优化了使用AppleWatch解锁iPhone的使用体验还为上架了部分支持无损格式和杜如何让老人的手机更好用科技在发展,时代在进步。身处互联网时代的老人们,可能有一部分已经换上了新手机。虽然智能手机在我们看来很易用,但是对于部分老人来说,拿到了也不会用。所以就来分享一下我是怎么设置的手机六月买手机切勿盲目,这4款才是1500元档位值得入手的转眼间即将步入六月份,许多小伙伴也是有了购机需求,然而在厂商卖力营销下,一些小伙伴陷入了选择困难症,更有甚者入坑,所以说买手机切勿盲目,今天笔者便来介绍4款六月份1500元档位值得2022年将有6。81亿部5G手机出货,移动设备供应商争夺差异化原始设备制造商正在竞相在其旗舰产品组合中找到非常重要的差异化水平,以帮助提高利润率和提高市场份额ABIResearch英国伦敦2021年6月1日报道,尽管在疫情大流行和地缘政治格局苹果手机的6个自带应用,胜过10几个App,你用了就知道iPhone上有很多神器级的App,因为默默地呆在手机桌面而被埋没了,今天小编就要带大家来发现这6个实用又能打的App,保证你用了爱不释手。1。日历提醒事项苹果的日历就大有作用,除智能客服不智能,究竟是谁的难题?智能客服越来越多,但客服系统不服务智能客服不智能人工客服藏得深客服电话难打通等问题却也成为阻碍消费需求释放的拦路虎。近日,江苏省消保委针对部分企业智能客服沟通不顺畅人工客服缺失等现新车试驾岚图FREE增程版,30万换1040牛米大5座,你动心吗?文懂车帝原创曹浩懂车帝原创产品自从理想ONE以增程式电动车这个概念问世之后,便成为了国内销量最高的新能源车之一,倒不是说理想ONE这款车有多好,其实是增程式电动车的使用方式消除了用鸿蒙系统发布在即商标问题搞定了?华为没事,我把商标买过来了千呼万唤始出来,被国人寄予厚望的华为鸿蒙手机发布在即!早前消息,华为将在6月2日举行线上发布会,鸿蒙系统将正式搭载在手机上等移动终端上,华为公司预计2021年底搭载鸿蒙操作系统的设全新华为MatePadPro发布,麒麟9000芯片带来强劲性能6月2日晚,华为MatePadPro12。6英寸正式发布,作为首款搭载HarmonyOS2的平板电脑,华为MatePadPro12。6英寸在功能和配置方面给用户带来了不少的惊喜。H一加9Pro空山基闪银限定礼发布全球限定1500份IT之家6月2日消息今日一加手机宣布携手日本潮流艺术家空山基,以全时空闪银为主题推出OnePlus9Pro空山基闪银限定礼。OnePlus9Pro空山基闪银限定礼将包含一加9Pro天猫618可能是小米的专场了?从这大促力度来看,还真不简单从小米最新公布的数据显示,小米在今年618开门红期间,取得了3分钟支付额破5个亿的佳绩,同时在手机销量部分,红米Note10系列在一小时内卖出50万台,成绩非常亮眼。而小米将继续领