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中字符串,时间对象,和时间戳的转换学习整理

相关文章
|
23天前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
22天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
10天前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
101 80
|
8天前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
38 2
|
22天前
|
小程序 开发者 Python
探索Python编程:从基础到实战
本文将引导你走进Python编程的世界,从基础语法开始,逐步深入到实战项目。我们将一起探讨如何在编程中发挥创意,解决问题,并分享一些实用的技巧和心得。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你提供有价值的参考。让我们一起开启Python编程的探索之旅吧!
44 10
|
23天前
|
IDE 程序员 开发工具
Python编程入门:打造你的第一个程序
迈出编程的第一步,就像在未知的海洋中航行。本文是你启航的指南针,带你了解Python这门语言的魅力所在,并手把手教你构建第一个属于自己的程序。从安装环境到编写代码,我们将一步步走过这段旅程。准备好了吗?让我们开始吧!
|
22天前
|
人工智能 数据挖掘 开发者
探索Python编程之美:从基础到进阶
本文是一篇深入浅出的Python编程指南,旨在帮助初学者理解Python编程的核心概念,并引导他们逐步掌握更高级的技术。文章不仅涵盖了Python的基础语法,还深入探讨了面向对象编程、函数式编程等高级主题。通过丰富的代码示例和实践项目,读者将能够巩固所学知识,提升编程技能。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你提供有价值的参考和启示。让我们一起踏上Python编程的美妙旅程吧!
|
2月前
|
开发者 Python
Python 时间处理与时区转换:深入探究 datetime、time 模块与 pytz 库的功能与应用
Python 时间处理与时区转换:深入探究 datetime、time 模块与 pytz 库的功能与应用
19 0
|
机器学习/深度学习 测试技术 Python
Python date,datetime,time等相关操作总结
Python date,datetime,time等相关操作总结
128 0
|
Python
Python 3,一行代码处理各种时间转换,从此跟datetime,time模块说拜拜 ~ ~ 不收藏算我输!!!
Python 3,一行代码处理各种时间转换,从此跟datetime,time模块说拜拜 ~ ~ 不收藏算我输!!!
381 1
Python 3,一行代码处理各种时间转换,从此跟datetime,time模块说拜拜 ~ ~ 不收藏算我输!!!