java class 微信商家收款 golang 工厂模式 二代征信 Jetbains全家桶 jquery ajax plugins UIkit seo外包优化 vue优势 vue样式 vue双向绑定 vue学习教程 后台管理界面 ppt视频教程下载 广告投放系统源码 float占几个字节 oracle查看数据库 虚拟机重启命令 idea全局替换 java不定长数组 linux重启mysql mysql查询 python测试 python基础教程 python创建文件 java的string java使用mysql java连数据库 java写文件 java8时间 java抽象方法 java多线程处理 java文件读写 java开发语言 java日期转时间戳 脚本之家 狮子狗出装
当前位置: 首页 > 学习教程  > 编程语言

零基础学Python(第十四章 日期时间datetime、time、Calendar)

2021/2/13 17:27:27 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

本套学习内容共计【22】个章节,每个章节都会有对应的从0-1的学习过程详细讲解,希望可以给更多的人提供帮助。 开发环境:【Win10】 开发工具:【Visual Studio 2019】 本章内容为:【日期时间time】 Python 日期和时间…

本套学习内容共计【22】个章节,每个章节都会有对应的从0-1的学习过程详细讲解,希望可以给更多的人提供帮助。

开发环境:【Win10】

开发工具:【Visual Studio 2019】

本章内容为:【日期时间time】

Python 日期和时间

Python 程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能。

Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间。

时间间隔是以秒为单位的浮点小数。

每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示。

Python 的 time 模块下有很多函数可以转换常见日期格式。如函数time.time()用于获取当前时间戳, 如下实例:

import time  # 引入time模块
 
ticks = time.time()
print("当前时间戳为:", ticks)

注:时间戳单位最适于做日期运算。但是1970年之前的日期就无法以此表示了。太遥远的日期也不行,UNIX和Windows只支持到2038年。

常用获取时间的方法:(重点)

from datetime import datetime
 
print(datetime.now())

 

1、什么是时间元组?

很多Python函数用一个元组装起来的9组数字处理时间:

序号字段
04位数年2008
11 到 12
21到31
3小时0到23
4分钟0到59
50到61 (60或61 是闰秒)
6一周的第几日0到6 (0是周一)
7一年的第几日1到366 (儒略历)
8夏令时-1, 0, 1, -1是决定是否为夏令时的旗帜

上述也就是struct_time元组。这种结构具有如下属性:

序号属性
0tm_year2008
1tm_mon1 到 12
2tm_mday1 到 31
3tm_hour0 到 23
4tm_min0 到 59
5tm_sec0 到 61 (60或61 是闰秒)
6tm_wday0到6 (0是周一)
7tm_yday1 到 366(儒略历)
8tm_isdst-1, 0, 1, -1是决定是否为夏令时的旗帜

2、获取当前时间

 从返回浮点数的时间戳方式向时间元组转换,只要将浮点数传递给如localtime之类的函数。

import time
#未格式化
localtime1 = time.localtime(time.time())
print("本地时间为 :", localtime1)
print("\n-----------")
#格式化后:
localtime2 = time.asctime(localtime1)
print("本地时间为 :", localtime2)

3、格式化日期:【time.strftime()·字符串·格式化·时间三个单词简写】

import time
 
# 格式化成Y-m-d H:M:S形式
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) 
 
# 格式化成a b d H:M:S Y形式
print(time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())) 
  
# 将格式字符串转换为时间戳
a = "Sat Feb 13 16:49:14 2021"
print(time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y")))

 

4、python中时间日期格式化符号:

  • %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 当前时区的名称
  • %% %号本身

5、休息的方法:【time.sleep(秒)】(很好用,线程的时候各种用sleep控制,有的时候比task好用得多。)

import time
 
for x in range(10,0,-1):
    print("倒计时:",x,"秒")
    time.sleep(1)

6、获取某月日历

Calendar模块有很广泛的方法用来处理年历和月历,例如打印某月的月历:

import calendar
 
cal = calendar.month(2008, 8)
print("以下输出2018年8月份的日历:")
print(cal)

7、判断闰年:【calendar.isleap(year)

import calendar
 
print(calendar.isleap(2000))#闰年返回True

#isleap的内部函数写法如下:
def isleap(year):
    """Return True for leap years, False for non-leap years."""
    return year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)

8、日历(Calendar)模块

此模块的函数都是日历相关的,例如打印某月的字符月历。

星期一是默认的每周第一天,星期天是默认的最后一天。更改设置需调用calendar.setfirstweekday()函数。模块包含了以下内置函数:

序号函数及描述
1calendar.calendar(year,w=2,l=1,c=6)
返回一个多行字符串格式的year年年历,3个月一行,间隔距离为c。 每日宽度间隔为w字符。每行长度为21* W+18+2* C。l是每星期行数。
2calendar.firstweekday( )
返回当前每周起始日期的设置。默认情况下,首次载入 calendar 模块时返回 0,即星期一。
3calendar.isleap(year)

是闰年返回 True,否则为 False。

4calendar.leapdays(y1,y2)
返回在Y1,Y2两年之间的闰年总数。
5calendar.month(year,month,w=2,l=1)
返回一个多行字符串格式的year年month月日历,两行标题,一周一行。每日宽度间隔为w字符。每行的长度为7* w+6。l是每星期的行数。
6calendar.monthcalendar(year,month)
返回一个整数的单层嵌套列表。每个子列表装载代表一个星期的整数。Year年month月外的日期都设为0;范围内的日子都由该月第几日表示,从1开始。
7calendar.monthrange(year,month)
返回两个整数。第一个是该月的星期几的日期码,第二个是该月的日期码。日从0(星期一)到6(星期日);月从1到12。
8calendar.prcal(year,w=2,l=1,c=6)
相当于 print calendar.calendar(year,w=2,l=1,c=6)
9calendar.prmonth(year,month,w=2,l=1)
相当于 print calendar.month(year,month,w=2,l=1) 。
10calendar.setfirstweekday(weekday)
设置每周的起始日期码。0(星期一)到6(星期日)。
11calendar.timegm(tupletime)
和time.gmtime相反:接受一个时间元组形式,返回该时刻的时间戳(1970纪元后经过的浮点秒数)。
12calendar.weekday(year,month,day)
返回给定日期的日期码。0(星期一)到6(星期日)。月份为 1(一月) 到 12(12月)。

9、 总结:

a)、在日期处理上最常用的格式化与获取当前时间两个,好好练练这两块。

本课程目录为:

Python初级

1 、开发工具

2 、中文编码

3 、基础语法

4 、变量类型

5 、运算符

6 、条件语句

7 、while循环

8 、for循环

9 、循环控制

10、 循环嵌套

11 、字符串

12 、列表

13 、元组

14、 字典

15 、日期时间(本章)

16、 函数

17 、模块

18 、文件I/O

19 、File方法

20 、异常处理

21 、文件目录

22 、内置函数

欢迎【点赞】、【评论】、【关注】、【收藏】、【打赏】,为推广知识贡献力量。


本文链接: http://www.dtmao.cc/news_show_700153.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?