python操作日期和时间的方法


Posted in Python onMarch 11, 2014

不管何时何地,只要我们编程时遇到了跟时间有关的问题,都要想到 datetime 和 time 标准库模块,今天我们就用它内部的方法,详解python操作日期和时间的方法。
1.将字符串的时间转换为时间戳

方法:
a = "2013-10-10 23:40:00"
#将其转换为时间数组
import time
timeArray = time.strptime(a, "%Y-%m-%d %H:%M:%S")
#转换为时间戳:
timeStamp = int(time.mktime(timeArray))
timeStamp == 1381419600

2.格式更改
如a = "2013-10-10 23:40:00",想改为 a = "2013/10/10 23:40:00"
方法:先转换为时间数组,然后转换为其他格式
timeArray = time.strptime(a, "%Y-%m-%d %H:%M:%S")
otherStyleTime = time.strftime("%Y/%m/%d %H:%M:%S", timeArray)

3.时间戳转换为指定格式日期
方法一:利用localtime()转换为时间数组,然后格式化为需要的格式,如:
timeStamp = 1381419600
timeArray = time.localtime(timeStamp)
otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
otherStyletime == "2013-10-10 23:40:00"

方法二:
import datetime
timeStamp = 1381419600
dateArray = datetime.datetime.utcfromtimestamp(timeStamp)
otherStyleTime = dateArray.strftime("%Y-%m-%d %H:%M:%S")
otherStyletime == "2013-10-10 23:40:00"

4.获取当前时间并转换为指定日期格式
方法一:
import time
#获得当前时间时间戳
now = int(time.time())  ->这是时间戳
#转换为其他日期格式,如:"%Y-%m-%d %H:%M:%S"
timeArray = time.localtime(timeStamp)
otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)

方法二:

import datetime
#获得当前时间
now = datetime.datetime.now()  ->这是时间数组格式
#转换为指定的格式:
otherStyleTime = now.strftime("%Y-%m-%d %H:%M:%S")

5.获得三天前的时间的方法
import time
import datetime
#先获得时间数组格式的日期
threeDayAgo = (datetime.datetime.now() - datetime.timedelta(days = 3))
#转换为时间戳:
timeStamp = int(time.mktime(threeDayAgo.timetuple()))
#转换为其他字符串格式:
otherStyleTime = threeDayAgo.strftime("%Y-%m-%d %H:%M:%S")
注:timedelta()的参数有:days,hours,seconds,microseconds

6.给定时间戳,计算该时间的几天前时间
timeStamp = 1381419600
#先转换为datetime
import datetime
import time
dateArray = datetime.datetime.utcfromtimestamp(timeStamp)
threeDayAgo = dateArray - datetime.timedelta(days = 3)
#参考5,可以转换为其他的任意格式了

7、用Python计算昨天和明天的日期
>>> import datetime #导入日期时间模块
>>> today = datetime.date.today() #获得今天的日期
>>> print today #输出今天日期
2014-01-04 
>>> yesterday = today - datetime.timedelta(days=1) #用今天日期减掉时间差,参数为1天,获得昨天的日期
>>> print yesterday
2014-01-03 
>>> tomorrow = today + datetime.timedelta(days=1) #用今天日期加上时间差,参数为1天,获得明天的日期
>>> print tomorrow
2014-01-05 
>>>
>>> print "昨天:%s, 今天:%s, 明天:%s" % (yesterday, today, tomorrow) #字符串拼接在一起输出,这3天的日期

昨天:2014-01-03, 今天:2014-01-04, 明天:2014-01-05
8、python里使用time模块来获取当前的时间
#!/usr/bin/python
import time
print (time.strftime("%H:%M:%S"))
## 12 hour format ##
print (time.strftime("%I:%M:%S"))
#:输出
#18:11:30
#6:11:30

9、打印出当前的日期的python程序
!/usr/bin/python
import time
## dd/mm/yyyy格式
print (time.strftime("%d/%m/%Y"))
#输出:
11/03/2014

10、使用datetime模块来获取当前的日期和时间
#!/usr/bin/python
import datetime
i = datetime.datetime.now()
print ("当前的日期和时间是 %s" % i)
print ("ISO格式的日期和时间是 %s" % i.isoformat() )
print ("当前的年份是 %s" %i.year)
print ("当前的月份是 %s" %i.month)
print ("当前的日期是  %s" %i.day)
print ("dd/mm/yyyy 格式是  %s/%s/%s" % (i.day, i.month, i.year) )
print ("当前小时是 %s" %i.hour)
print ("当前分钟是 %s" %i.minute)
print ("当前秒是  %s" %i.second)

附:日期和时间的格式化参数

%a 星期几的简写
%A 星期几的全称
%b 月分的简写
%B 月份的全称
%c 标准的日期的时间串
%C 年份的后两位数字
%d 十进制表示的每月的第几天
%D 月/天/年
%e 在两字符域中,十进制表示的每月的第几天
%F 年-月-日
%g 年份的后两位数字,使用基于周的年
%G 年分,使用基于周的年
%h 简写的月份名
%H 24小时制的小时
%I 12小时制的小时
%j 十进制表示的每年的第几天
%m 十进制表示的月份
%M 十时制表示的分钟数
%n 新行符
%p 本地的AM或PM的等价显示
%r 12小时的时间
%R 显示小时和分钟:hh:mm
%S 十进制的秒数
%t 水平制表符
%T 显示时分秒:hh:mm:ss
%u 每周的第几天,星期一为第一天 (值从0到6,星期一为0)
%U 第年的第几周,把星期日做为第一天(值从0到53)
%V 每年的第几周,使用基于周的年
%w 十进制表示的星期几(值从0到6,星期天为0)
%W 每年的第几周,把星期一做为第一天(值从0到53)
%x 标准的日期串
%X 标准的时间串
%y 不带世纪的十进制年份(值从0到99)
%Y 带世纪部分的十制年份
%z,%Z 时区名称,如果不能得到时区名称则返回空字符。
%% 百分号
Python 相关文章推荐
使用Python神器对付12306变态验证码
Jan 05 Python
Python中Iterator迭代器的使用杂谈
Jun 20 Python
Python基于回溯法子集树模板解决数字组合问题实例
Sep 02 Python
Python读取txt文件数据的方法(用于接口自动化参数化数据)
Jun 27 Python
Python使用Selenium模块实现模拟浏览器抓取淘宝商品美食信息功能示例
Jul 18 Python
基于numpy中数组元素的切片复制方法
Nov 15 Python
pyqt5实现俄罗斯方块游戏
Jan 11 Python
Python-while 计算100以内奇数和的方法
Jun 11 Python
pyspark给dataframe增加新的一列的实现示例
Apr 24 Python
python实现数学模型(插值、拟合和微分方程)
Nov 13 Python
PyCharm最新激活码PyCharm2020.2.3有效
Nov 18 Python
python爬虫线程池案例详解(梨视频短视频爬取)
Feb 20 Python
Python 字符串操作方法大全
Mar 11 #Python
Python去掉字符串中空格的方法
Mar 11 #Python
使用python 获取进程pid号的方法
Mar 10 #Python
python调用java的Webservice示例
Mar 10 #Python
pyqt4教程之messagebox使用示例分享
Mar 07 #Python
pyqt4教程之widget使用示例分享
Mar 07 #Python
pyqt4教程之实现windows窗口小示例分享
Mar 07 #Python
You might like
PHP的面试题集,附我的答案和分析(一)
2006/11/19 PHP
分享PHP计算两个日期相差天数的代码
2015/12/23 PHP
WordPress中用于创建以及获取侧边栏的PHP函数讲解
2015/12/29 PHP
PHP7安装Redis扩展教程【Linux与Windows平台】
2016/09/30 PHP
Javascript string 扩展库代码
2010/04/09 Javascript
在JavaScript中typeof的用途介绍
2013/04/11 Javascript
用Jquery.load载入页面实现局部刷新
2014/01/22 Javascript
javascript 中that的含义示例介绍
2014/05/14 Javascript
跟我学习JScript的Bug与内存管理
2015/11/18 Javascript
JavaScript学习笔记之数组求和方法
2016/03/23 Javascript
jQuery获取table行数并输出单元格内容的实现方法
2016/06/30 Javascript
Nodejs进阶:核心模块net入门学习与实例讲解
2016/11/21 NodeJs
使用InstantClick.js让页面提前加载200ms
2017/09/12 Javascript
JavaScript判断日期时间差的实例代码
2018/03/01 Javascript
vue cli使用融云实现聊天功能的实例代码
2019/04/19 Javascript
有关vue 开发钉钉 H5 微应用 dd.ready() 不执行问题及快速解决方案
2020/05/09 Javascript
[02:17]快乐加倍!DOTA2食人魔魔法师至宝+迎霜节活动上线
2019/12/22 DOTA
wxPython窗口的继承机制实例分析
2014/09/28 Python
Python正则表达式匹配ip地址实例
2014/10/09 Python
Python实现的ini文件操作类分享
2014/11/20 Python
Python制作豆瓣图片的爬虫
2017/12/28 Python
python画出三角形外接圆和内切圆的方法
2018/01/25 Python
Django使用Mysql数据库已经存在的数据表方法
2018/05/27 Python
使用Python实现一个栈判断括号是否平衡
2018/08/23 Python
基于Python实现船舶的MMSI的获取(推荐)
2019/10/21 Python
python Gabor滤波器讲解
2020/10/26 Python
plt.figure()参数使用详解及运行演示
2021/01/08 Python
如何执行一个shell程序
2012/11/23 面试题
毕业生文员求职信
2013/11/03 职场文书
责任担保书范文
2014/05/21 职场文书
团队激励口号
2014/06/06 职场文书
沙滩主题婚礼活动策划方案
2014/09/15 职场文书
2014副镇长民主生活会个人对照检查材料思想汇报
2014/09/30 职场文书
同意报考证明
2015/06/17 职场文书
Golang map映射的用法
2022/04/22 Golang
JavaScript架构localStorage特殊场景下二次封装操作
2022/06/21 Javascript