python 时间戳与格式化时间的转化实现代码

yipeiwu_com6年前Python基础

python 里面与时间有关的模块主要是 time 和 datetime

如果想获取系统当前时间戳:time.time() ,是一个float型的数据
获取系统当前的时间信息 : time.ctime() 是一个str类型的时间字符串,一般比较少用与开发中
如果想获得当前的普通日期字符串,可以简单的用str(datetime.date.today())

还有就是时间和时间戳之间的相互转化(很常用):

日期到时间戳上的转换:

import datetime
import time
t = datetime.datetime(2014,12, 6, 12, 10, 10)
timestamp = time.mktime(t.timetuple())
print timestamp

时间戳到时间日期的转换:

import datetime 
import time
t = time.localtime(timestamp)
timeStr = time.strftime('%Y-%m-%d %H:%M:%S', t)
print timeStr

有一个比较常用的的场景是:
根据某一天来推前几天或者未来几天的时间
比如我需要知道从2014-10-25以来的10天的数据
这样的话我们需要进行时间上的运算,如果按照本质,就是时间戳和时间之间的转换而已
我们可以通过时间转时间戳获取2014-10-25的时间戳,然后 进行时间戳上的运算,然后
再将运算的结果转成时间字符串就行了,完整代码如下:

import time
import datetime
t = datetime.datetime(2014, 10, 25)
timestamp = time.mktime(t.timetuple())
timestamp += 10 * 3600 * 24
t = time.localtime(timestamp)
timeStr = time.strftime('%Y-%m-%d %H:%M:%S', t)

其实date 模块有函数封装了这种算法,试用是没这么大的代码,不过咱们只讲原理,上面python时间的过程
其实对于任何语言应该都是这样一个过程

水一句: 语言工具不断在变,你不可能死守一门语言, 不会过时的只有算法与思维

相关文章

Python 3 实现定义跨模块的全局变量和使用教程

尽管某些书籍上总是说避免使用全局变量,但是在实际的需求不断变化中,往往定义一个全局变量是最可靠的方法,但是又必须要避免变量名覆盖。 Python 中 global 关键字可以定义一个变量...

pyinstaller 3.6版本通过pip安装失败的解决办法(推荐)

pyinstaller 3.6版本通过pip安装失败的解决办法(推荐)

本机中原pyinstaller版本为3.5版本,本打算通过 pip install --upgrade pyinstaller进行升级,竟然报错,后面卸载再重新安装也一样报错,没办法看来...

python 去除二维数组/二维列表中的重复行方法

之前提到去除一维数组中的重复元素用unique()函数,如果要去除二维数组中的重复行该怎么操作呢? import numpy as np arr = np.array([[1, 2]...

快速排序的四种python实现(推荐)

快速排序算法,简称快排,是最实用的排序算法,没有之一,各大语言标准库的排序函数也基本都是基于快排实现的。 本文用python语言介绍四种不同的快排实现。 1. 一行代码实现的简洁版本...

PyTorch的深度学习入门之PyTorch安装和配置

PyTorch的深度学习入门之PyTorch安装和配置

前言 深度神经网络是一种目前被广泛使用的工具,可以用于图像识别、分类,物体检测,机器翻译等等。深度学习(DeepLearning)是一种学习神经网络各种参数的方法。因此,我们将要介绍的深...