前言:

今天元宵节,祝福大家元宵节快乐。

今天在元宵节给各位朋友分享一下python时间模块。

我们在开发中经常会与时间打交道,如:获取事件戳,时间戳的格式化等,这里简要记录一下python操作时间的方法。


ython中常见的处理时间的模块:

  • time:处理时间的模块,如获取时间戳,格式化日期等
  • datetime:date和time的结合体,处理日期和时间
  • calendar:日历相关的模块,如:处理年历/月历

time模块介绍

说明:time模块主要讲解如下内容:

  • 1.时间戳 --> 时间元组格式(time.struct_time) --> 日期字符串
  • 2.日期字符串 --> 时间元组格式(time.struct_time) --> 时间戳
  • 3.获取当前时间的分钟/秒
  • 4.获取整分钟/整小时时间戳

1.时间戳 --> 时间元组格式(time.struct_time) --> 日期字符串

  • 时间戳 --> 时间元组格式
    time.localtime(timestamp) # 参数timestamp为秒级时间戳
  • 例子:
import timetime_tuple = time.localtime(time.time())print time_tuple  # time.struct_time(tm_year=2019, tm_mon=1, tm_mday=30, tm_hour=11, tm_min=29, tm_sec=33, tm_wday=2, tm_yday=30, tm_isdst=0)

时间元组 --> 日期字符串
time.strftime(format, p_tuple=None):format:格式化的日期样式;p_tuple:时间元组


例子:

time_format = time.strftime("%Y-%m-%d %H:%M:%S", time_tuple)print time_format  # 2019-01-30 11:48:07

封装成方法:

def timestamp_format(timestamp):    """    :brief  时间戳格式化    :param timestamp: 时间戳    :return: 格式化后的日期    """    return time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(timestamp))

2.日期字符串 --> 时间元组格式(time.struct_time) --> 时间戳

  • 日期字符串 --> 时间元组
    time.strptime(string, format) # string:日期字符串,format:该日期字符串对应的格式化格式
  • 例子:
import timetime_str_to_tuple = time.strptime("2019-01-30 11:48:07", "%Y-%m-%d %H:%M:%S")print time_str_to_tuple  # time.struct_time(tm_year=2019, tm_mon=1, tm_mday=30, tm_hour=11, tm_min=48, tm_sec=7, tm_wday=2, tm_yday=30, tm_isdst=-1)

时间元组 --> 时间戳
time.mktime(p_tuple):p_tuple:时间元组例子:

time_tuple_to_timestamp = int(time.mktime(time_str_to_tuple))print time_tuple_to_timestamp  # 结果:1548820087
  • 封装成方法
def time_str_to_timestamp(date_str, format):    """    :brief 将字符串日期转换为时间戳    :param date_str: 日期字符串,如:2019-01-30 11:48:07    :param format: 日期字符串对应的格式化格式,如:%Y-%m-%d %H:%M:%S    :return: 时间戳    """    return int(time.mktime(time.strptime(date_str, format)))

3.获取当前时间的分钟/秒

  • 获取当前时间戳
timestamp = int(time.time())
  • 获取当前时间的秒
seconds = timestamp % 60print "seconds:{}".format(seconds)
  • 获取当前时间的分钟
minute = (timestamp - seconds) % (60 * 60)print "minute:{}".format(minute / 60)

4.获取整分钟/整小时时间戳

  • 思路:
    先除以对应的进制值取整,得到舍弃余数部分的整数,然后再乘以对应的进制值
one_minute = 60  # 一分钟one_hour = one_minute * 60  # 一小时whole_minute = int(timestamp / one_minute) * one_minutewhole_hour = int(timestamp / one_hour) * one_hour

datetime模块介绍

datetime模块中常见的类:

  • datetime.date:处理日期
  • datetime.time:处理时间
  • datetime.datetime:处理日期和时间
  • datetime.timedelta:处理时间差

说明:datetime模块主要讲解如下内容

  • 1.时间戳 --> datetime时间格式 --> 日期字符串
  • 2.日期字符串 --> datetime时间格式 --> 时间元组格式(time.struct_time) --> 时间戳
  • 3.时间差的使用,根据当前时间获取前N天的时间

1.时间戳 --> datetime时间格式 --> 日期字符串

  • 时间戳 --> datetime时间格式
    datetime.datetime.fromtimestamp(timestamp) 参数timestamp:时间戳
  • 例子
import time, datetimedatetime_type = datetime.datetime.fromtimestamp(time.time())print type(datetime_type)  # 

datetime时间格式 --> 日期字符串
datetime.datetime.strftime(format) format:日期字符串对应的格式化格式例子:

datetime_format = datetime_type.strftime("%Y/%m/%d %H:%M:%S")print datetime_format  # 2019/01/30 16:44:01

2.日期字符串 --> datetime时间格式 --> 时间元组格式(time.struct_time) --> 时间戳

  • 日期字符串 --> datetime时间格式
    datetime.datetime.strptime(date_str, format) date_str:字符串日期 format:日期字符串对应的格式化格式
  • 例子:
datetime_type = datetime.datetime.strptime('2019/01/30 16:44:01', '%Y/%m/%d %H:%M:%S')print type(datetime_type)  # # print datetime_type.timestamp()print time.mktime(datetime_type.timetuple())

datetime时间格式 --> 时间元组格式(time.struct_time) --> 时间戳
datetime.datetime.timetuple(): datetime转换为时间元组例子:

datetime_type_to_timestamp = int(time.mktime(datetime_type.timetuple()))print datetime_type_to_timestamp

3.时间差的使用,根据当前时间获取前N天的时间

datetime.timedelta(days, seconds, microseconds, milliseconds, minutes, hours, weeks) 参数说明:

  1. days:天
  2. seconds:秒
  3. microseconds:毫秒 1秒 = 10^3 毫秒
  4. milliseconds:微秒 1秒 = 10^6 微秒
  5. minutes,分钟
  6. hours:小时
  7. weeks:星期 1weeks = 7days
  • 例子:
day_timedelta = datetime.timedelta(days=1)  # 获取1天的时间值forward_datetime = datetime.datetime.today() - day_timedelta  # 获取前一天的datetime值print forward_datetime

calendar模块介绍

说明:

这里介绍一下使用month(year, month)方法打印出某年某月下的月历时间

  • 例子:
import calendarcal = calendar.month(2019, 1)  # 打印出2019年1月的月历print cal

c++获取当前时间戳_python开发:python时间模块的使用相关推荐

  1. python时间模块倒计时_Python时间模块

    python时间模块倒计时 In this tutorial, we will learn about the Python time module. Python Variable is discu ...

  2. 【Python基础】Python时间模块,超实用总结!

    我的施工之路 施工之路已完成13篇图文,又提炼为思维导图,结合使用,效果最佳. 1我的施工计划 2数字专题 3字符串专题 4列表专题 5流程控制专题 6编程风格专题 7函数使用 8面向对象编程(上篇) ...

  3. python时间模块time详解

    python时间模块time详解 在平常的代码中,我们常常需要与时间打交道.在Python中,与时间处理有关的模块就包括:time,datetime以及calendar.这篇文章,主要讲解time模块 ...

  4. python获取当前时间戳_python 获取当前时间戳

    原博文 2019-01-04 10:42 − #!/usr/bin/python # -*- coding: UTF-8 -*- import time; # 引入time模块 ticks = tim ...

  5. python时间模块哪个好arrow模块_python库: arrow (时间)

    arrow是个时间日期库,简洁易用.支持python3.6 https://arrow.readthedocs.io/en/latest/ arrow官网api https://github.com/ ...

  6. php js 获取当前时间戳,JavaScript 获取当前时间戳的代码_时间日期

    JavaScript 获取当前时间戳: 第一种方法: var timestamp = Date.parse(new Date()); 结果:1280977330000 第二种方法: var times ...

  7. python时间模块设置_Python之时间和日期模块

    1.import time 先要导入时间模块 1)time.time()得到当前的时间,返回的是时间戳,表示自1970年1月1日起到程序运行时的秒数 1 importtime2 print(time. ...

  8. python时间模块的使用

    前言: 在开发中经常会与时间打交道,如:获取事件戳,时间戳的格式化等,这里简要记录一下python操作时间的方法. python中常见的处理时间的模块: time:处理时间的模块,如获取时间戳,格式化 ...

  9. python 时间模块 time datetime calendar

    学而时习之,不亦悦乎.经常的复习下之前的知识,不仅加深.巩固记忆,还能在复习的同时,查漏补缺.  今天针对python库自带的三个时间模块进行复习.... time模块 time模块提供各种操作时间的 ...

最新文章

  1. argparse subparsers()
  2. 一条正确的Java职业生涯规划,从理论到实践!
  3. XML--视频--人脸VOC
  4. zynq网络时钟控制寄存器_【干货分享】ZYNQ开发基本流程
  5. 计算机室是学校重要的教学设施,计算机室治理规章.doc
  6. 【JavaScriptjQuery】返回顶部
  7. Java中的定制国际化(i18n)
  8. 01-mysql数据库入门篇-认识mysql-01-05
  9. 数据结构知识点大汇总(四)
  10. Anaconda-Navigator无法打开
  11. 定时锁定计算机怎么设置方法,电脑定时锁屏怎么设置
  12. ios 录音,播放 tips
  13. 百度地图内置 市级+县级 区域代码
  14. python爬取微博内容_python如何抓取新浪微博的微博内容!
  15. Java判断上海自来水来自海上_Elasticsearch6.5.3 rest-client 用法封装
  16. 华北赛区承办学校:太原工业学院
  17. 42个机器学习练手项目
  18. Ubuntu安装最新的SlickEdit软件--破解教程
  19. 从Flink SQL doesn't support consuming update and delete changes 错误谈起
  20. 【嵌入式 C】嵌入式开发神器—SourceInsight的使用教程

热门文章

  1. Redis和数据库的结合
  2. 深度学习多模态融合_3D目标检测多模态融合综述
  3. trailmakers未能连接服务器,Trailmakers联机版
  4. php请求api获取返回值,我用curl请求接口获取返回值,但是不成功,大神给看看怎么调取?...
  5. 用计算机对话的小品,爆笑小品剧本台词《作弊记》
  6. python判断文件是否打开_python如何判断一个文件是否处于打开状态?
  7. python读取api接口频率_Python基础(API接口测试)
  8. python运行外部程序_在Python中运行外部程序(可执行文件)?
  9. linux找出重复数字,C语言笔试经典-查找多位数重复数字以及次数
  10. java 保存文件在服务器_java文件保存至服务器