百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

Python中的对日期时间的处理

toyiye 2024-05-19 19:35 20 浏览 0 评论

我们可以通过学习在Python中对日期时间的处理,可以在快速的完成工作,比如:

  • 将日期时间作为日志信息的内容输入
  • 计算某一个功能的执行时间
  • 用日期命名一个文件的名称
  • 记录或者展示文件的发布或修改时间
  • 其他工作

在Python的程序可以使用很多的方式处理日期和时间,转换日期格式是一个常见的功能。Python中提供了一个time和calender的模块可以用来做格式化日期和时间的。时间间隔都是以秒为单位的浮点小数。

在电脑中的时间都是由CPU储存,所以一般呢也叫做CPU时间, cpu时间是计算从1970年1月1日0点0分到目前这个时间点所经历的的秒数来表示,同时又可以称为时间戳。

1.time模块

1.1导入time模块

首先使用import导入time模块

1.2查看时间戳

使用time.time函数查看当前的时间戳为多少,time.time的作用是返回当前时间的时间戳

1.3返回当地时间

使用time.localtime函数,将当前时间戳返回为本地的时间,返回的参数有9个:

序号属性字段值0Tm_year4位数年20081tm_mon月1-122tm_mday日1-313tm_hour小时0-234tm_min分钟0-595tm_sec秒0-61(60或61 是闰秒)6tm_wday一周的第几日0-6(0为周一)7tm_yday一年的第几日1-365(儒略历)8tm_isdst夏令时-1,0,1 -1是决定是否为夏令时的旗帜

可以通过这9个返回的参数判断当前的时间

1.4暂停代码运行时间

time.sleep暂停代码的运行时间,time.sleep函数的作用是推迟调用线程的运行,可以通过参数Secs指秒数,表示进程挂起的时间。

1.5计算时间点

函数time.clock是以浮点数计算的秒数返回当前的CPU时间。这个函数在不同的系统上的含义也是不同的, 在UNIX系统上,它返回的是"进程时间",它是用秒表示的浮点数(时间戳)。而在WINDOWS中,第一次调用,返回的是进程运行的实际时间。而第二次之后的调用是自第一次调用以后到现在的运行时间。(实际上是以WIN32上QueryPerformanceCounter为基础,它比毫秒表示更为精确)

1.6获取格式化的时间

我们可以根据需求选取各种格式,但是最简单的获取可读的时间模式的函数是asctime:

Time.asctime函数接受时间元组并返回一个可读的形式”5月7日,周天,13点20分26秒,2017年”的24个字符的字符串。参数是9个元素的元组或者通过函数Gmtime或localtime函数返回的时间值。

1.7格式化日期

通过time模块中strftime方法来格式化日期:

Time.strftime函数接收时间元组,并返回以可读字符串表示薪资的时间,格式的话由参数format决定。

1.8解析时间

Time.strptime(str,fmt=’%a %b %d %H:%M:%S %Y’)根据fromt的格式把一个时间字符串解析为时间元组。

在Python中有22个时间日期的格式化符号,通过这些符号就可以设置参数format了:

  • %y 两位数的年份表示(00-99)
  • %Y 四位数的年份表示(000-9999)
  • %m 月份(01-12)
  • %d 月内中的一天(0-31)
  • %H 24小时制小时数(0-23)
  • %I 12小时制小时数(01-12)
  • %M 分钟数(00=59)
  • %S 秒(00-59)
  • %a 本地简化星期名称
  • %A 本地完整星期名称
  • %b 本地简化的月份名称
  • %B 本地完整的月份名称
  • %c 本地相应的日期表示和时间表示
  • %j 年内的一天(001-366)
  • %p 本地A.M.或P.M.的等价符
  • %U 一年中的星期数(00-53)星期天为星期的开始
  • %w 星期(0-6),星期天为星期的开始
  • %W 一年中的星期数(00-53)星期一为星期的开始
  • %x 本地相应的日期表示
  • %X 本地相应的时间表示
  • %Z 当前时区的名称
  • %% %号本身

2.Calendar模块

Calendar模块是与日历相关的模块,但也有很广泛的方法来处理年历和月历,例如打印某月的月历:

使用claendar.month函数生成月份的日历。

在claendar模块中有12种函数,是比较常用的:

2.1 calendar.calendar(year,w=2,I=1,c=6,m=3)

返回一个多行字符串格式的year年年历,3个月为一行,间隔距离为c,每日宽度间隔为w字符,每行长度为21w+18+2c,i是每星期行数

2.2calendar.firstweekday

2.3calendar.isleap(year)

2.4calendar.leapdays(y1,y2)

2.5calendar.month(year,month,w=2,i=1)

返回一个多行字符串格式的year年month月日历,两行标题,一周一行。每日宽度间隔为w字符,每行的长度为7*w+6,I是每星期的行数。

2.6calendar.monthcalendar(year,month)

返回一个整数的单层嵌套列表,每个子列表装载代表一个星期的整数,year年month月外的日期都设为0,范围内的日子都由该月第几日表示,从1开始。

2.7 calendar.monthrange(year,month)

返回两个整数,第一个是该月第一天是星期几的日期码,第二个是该月天数的日期码,天是从0(星期一)到6(星期日);月是从1-12。

2.8calendar.prcal(year,w=2,i=1,c=6)

相当于是print(calendar.calendar(year,w,I,c))

2.9calendar.prmonth(year,month,w=2,i=1)

相当于print(calendar.calendar(year,w,I,c))

2.10 calendar.setfirstweekday(weekday)

设置每周的起码日期码。0(星期一)到6(星期日)

2.11 calendar.timegm(tupletime)

和time.gmtime相反:接受一个时间元组形式,返回该时刻的时间戳(1970年后的浮点秒数)

2.12 calendar.weekday(year,month,day)

返回给定日期的日期码。0(周一)到6(周日),月份为1-12。

3.datetime模块

Datetime模块是Python处理日期和时间的标准库

3.1获取当前的日期

Datetime.now函数的作用是返回当前日期和时间,返回的类型是datetime

3.2获取指定日期和时间

如果要指定某个日期和时间呢,我们直接用参数构造一个datetime也是可的:

通过datetime函数,直接输入年月日时分的参数,来构造一个指定的日期和时间

3.3datetime转换为timestamp

在计算机中,时间实际上是用数字表示的,我们把1970年1月1日,00:00:00 UTC+00;00时区的时刻成为epoch time,记为0(1970年之前的时间戳为负数),当前时间就是相对于Epoch time的秒数,可以成为timestamp。

可以理解为:

Timestamp = 0 = 1970-1-1 00:00:00 UTC+0:00

拓展知识UTC 和 Epoch time

UTC time,Coordinated Universal Time,世界标准时间又称为格林尼治时间,与UTCTime对应的是各个时区的localtime,东N区的时间比UTC时间早N个小时因此UTC+N小时,即为东N区的本地时间;而西N区时间比UTC时间玩N个小时,即UTC time – N小时即为西N区的本地时间;中国在东8区,因此比UTC时间早了八个小时,可以以UTC+8进行表示。

Epoch time表示时间开始的七点;是一个特定的时间,不同平台上的时间点不同,对于Unix而言,epoch time 为1970-01-01 00:00:00 UTC

首先转换为时间戳格式

将时间戳格式的时间转换为字符串日期时间

设置时间的格式

3.4 datetime加减

对于日期和时间进行加减实际上呢就是把日期时间datetime往后或者往前计算,得到新的日期时间datetime。加减可以直接运用+和-预算符,不过需要呢导入timedelta这个datetime模块下的类

在现在的时间加上10个小时的时间

在现在的时间上减去一天的时间

在现在的时间上加上2天12小时的时间

相关推荐

为何越来越多的编程语言使用JSON(为什么编程)

JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

何时在数据库中使用 JSON(数据库用json格式存储)

在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

JSON对象花样进阶(json格式对象)

一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

深入理解 JSON 和 Form-data(json和formdata提交区别)

在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

JSON 语法(json 语法 priority)

JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

JSON语法详解(json的语法规则)

JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

MySQL JSON数据类型操作(mysql的json)

概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

JSON的数据模式(json数据格式示例)

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

前端学习——JSON格式详解(后端json格式)

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

什么是 JSON:详解 JSON 及其优势(什么叫json)

现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

PostgreSQL JSON 类型:处理结构化数据

PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

JavaScript:JSON、三种包装类(javascript 包)

JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

Python数据分析 只要1分钟 教你玩转JSON 全程干货

Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

比较一下JSON与XML两种数据格式?(json和xml哪个好)

JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码