Python编程:time和datetime时间模块详解

简介: Python编程:time和datetime时间模块详解

image.png

说明:

绿色线条:timestamp -> datetime对象路径

橙色线条:datetime对象 -> timestamp路径

灰色线条:time模块 与 datetime模块 分界过渡


时间的四个存在方式

时间戳,float

元组形式, struct_time

字符串形式,str

时间对象 datetime, date, time

格式化


年-月-日 时:分:秒.毫秒
%Y-%m-%d %H:%M:%S.%f

代码实例

导入模块


# -*- coding:utf-8 -*-
import time
from datetime import datetime
from datetime import date
from datetime import timedelta

一、时间的获取

# 1、获取当前时间的时间戳
t = time.time()
# <type 'float'>, 1525687472.870682
# 2、获取当前时间元组
t = time.localtime()
# <type 'time.struct_time'>,
# time.struct_time(tm_year=2018, tm_mon=5, tm_mday=7, tm_hour=18, 
#        tm_min=5, tm_sec=47, tm_wday=0, tm_yday=127, tm_isdst=0))
# 3、获取当前时间的字符串
# 本地时间
t1 = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
t2 = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
# utc时间:就是0时区的区时,比北京时间晚8小时
t3 = datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S")
t4 = time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime())
"""
<type 'str'>, '2018-05-07 18:03:38'
<type 'str'>, '2018-05-07 18:03:38'
<type 'str'>, '2018-05-07 10:03:38'
<type 'str'>, '2018-05-07 10:03:38'
"""
# 4、获取时间对象
# 获取当前日期和时间 datetime
t = datetime.now()
# (<type 'datetime.datetime'>, 
# datetime.datetime(2018, 5, 7, 18, 10, 13, 538265))
# 获取当前日期 date
t1 = datetime.now().date()
# (<type 'datetime.date'>, datetime.date(2018, 5, 7))
# 获取当前时间 time
t2 = datetime.now().time()
# (<type 'datetime.time'>, datetime.time(18, 11, 4, 939271))

二、时间的计算

t = datetime.now() - timedelta(days=3)

三、时间形式之间的转换

# 1、时间戳与时间元组
# 时间戳 -> 时间元组:
t = time.localtime(1525681106.08)
# 时间元组 -> 时间戳
t = time.mktime(time.localtime())
# 2、时间元组与字符串
# 时间元组 -> 字符串
t = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
# 字符串 ->  时间元组
t = time.strptime("2018-01-07 17:26:24","%Y-%m-%d %H:%M:%S")
# 3、时间戳与字符串
# 时间戳 -> 字符串
t = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(1525681106.08))
t = datetime.fromtimestamp(1525681106.08).strftime("%Y-%m-%d %H:%M:%S")
# 字符串 -> 时间戳:
t = time.mktime(time.strptime("2018-01-07 17:26:24","%Y-%m-%d %H:%M:%S"))
# 4、时间戳与datetime对象
# 时间戳 -> datetime对象
t = datetime.fromtimestamp(1525681106.08)
# UTC
t = datetime.utcfromtimestamp(1525681106.08)  
# datetime对象 -> 时间戳
t = time.mktime(datetime.now().timetuple())
# 不过要注意的是time是从1900开始计算的。而datetime包含1-9999的范围
t = datetime.now().timestamp()
# 5、时间元组与datetime对象
# 时间元组对象 -> datetime对象 
t = datetime.fromtimestamp(time.mktime(time.localtime()))
# datetime对象 -> 时间元组对象
t = datetime.now().timetuple()
# 6、字符串与datetime对象
# str字符串 -> datetime对象 
t = datetime.strptime("2018-01-07 17:26:24", "%Y-%m-%d %H:%M:%S")
# datetime对象 -> str字符串
t = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
# 7、datetime, data, time 对象之间转换
# datetime对象 -> date对象
t1 = datetime.now().date() 
# datetime对象 -> time对象
t2 = datetime.now().time()
# date对象 + time对象 -> datetime对象
t = datetime.combine(t1, t2)
# <type 'datetime.datetime'>
# 8、date对象与时间戳
# 时间戳  ->  date对象
t = date.fromtimestamp(time.time())

参考:


之前写过的time模块 Python编程:time时间模块

time,datetime中字符串,时间对象,和时间戳的转换学习整理

相关文章
|
2天前
|
Python
不容错过!Python中图的精妙表示与高效遍历策略,提升你的编程艺术感
本文介绍了Python中图的表示方法及遍历策略。图可通过邻接表或邻接矩阵表示,前者节省空间适合稀疏图,后者便于检查连接但占用更多空间。文章详细展示了邻接表和邻接矩阵的实现,并讲解了深度优先搜索(DFS)和广度优先搜索(BFS)的遍历方法,帮助读者掌握图的基本操作和应用技巧。
14 4
|
2天前
|
设计模式 程序员 数据处理
编程之旅:探索Python中的装饰器
【10月更文挑战第34天】在编程的海洋中,Python这艘航船以其简洁优雅著称。其中,装饰器作为一项高级特性,如同船上的风帆,让代码更加灵活和强大。本文将带你领略装饰器的奥秘,从基础概念到实际应用,一起感受编程之美。
|
2天前
|
机器学习/深度学习 JSON API
Python编程实战:构建一个简单的天气预报应用
Python编程实战:构建一个简单的天气预报应用
11 1
|
2天前
|
算法 Python
在Python编程中,分治法、贪心算法和动态规划是三种重要的算法。分治法通过将大问题分解为小问题,递归解决后合并结果
在Python编程中,分治法、贪心算法和动态规划是三种重要的算法。分治法通过将大问题分解为小问题,递归解决后合并结果;贪心算法在每一步选择局部最优解,追求全局最优;动态规划通过保存子问题的解,避免重复计算,确保全局最优。这三种算法各具特色,适用于不同类型的问题,合理选择能显著提升编程效率。
18 2
|
1天前
|
分布式计算 并行计算 大数据
Python编程中的高效数据处理技巧
Python编程中的高效数据处理技巧
8 0
|
3天前
|
SQL 数据挖掘 Python
数据分析编程:SQL,Python or SPL?
数据分析编程用什么,SQL、python or SPL?话不多说,直接上代码,对比明显,明眼人一看就明了:本案例涵盖五个数据分析任务:1) 计算用户会话次数;2) 球员连续得分分析;3) 连续三天活跃用户数统计;4) 新用户次日留存率计算;5) 股价涨跌幅分析。每个任务基于相应数据表进行处理和计算。
|
3天前
|
机器学习/深度学习 人工智能 数据可视化
探索Python编程:从基础到高级
【10月更文挑战第33天】本文是一篇深入浅出的Python编程入门教程,适合初学者阅读。文章首先介绍了Python的基本概念和语法,然后通过实例讲解了如何使用Python进行数据处理和分析,最后介绍了一些高级特性和库,帮助读者更好地掌握Python编程。无论你是编程新手还是有一定经验的开发者,这篇文章都能给你带来新的启示和收获。
|
1月前
|
安全 测试技术 数据库
Python编程--sys模块及OS模块简单用例
Python编程--sys模块及OS模块简单用例
|
1月前
|
JSON 数据格式 Python
Python编程:利用JSON模块编程验证用户
Python编程:利用JSON模块编程验证用户
|
1月前
|
数据处理 Python
Python编程-利用datetime模块生成当前年份之前指定的间隔所有年份的日期列表和csv文件
Python编程-利用datetime模块生成当前年份之前指定的间隔所有年份的日期列表和csv文件
下一篇
无影云桌面