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的while循环中使用else以及循环嵌套的用法
Oct 14 Python
利用Python3分析sitemap.xml并抓取导出全站链接详解
Jul 04 Python
Python cookbook(数据结构与算法)实现查找两个字典相同点的方法
Feb 18 Python
python pandas写入excel文件的方法示例
Jun 25 Python
python tkinter控件布局项目实例
Nov 04 Python
Python读取表格类型文件代码实例
Feb 17 Python
python GUI库图形界面开发之PyQt5多行文本框控件QTextEdit详细使用方法实例
Feb 28 Python
Python学习之os模块及用法
Jun 03 Python
Python如何重新加载模块
Jul 29 Python
PyCharm+PyQt5+QtDesigner配置详解
Aug 12 Python
python之随机数函数的实现示例
Dec 30 Python
Python中的嵌套循环详情
Mar 23 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
不用iconv库的gb2312与utf-8的互换函数
2006/10/09 PHP
十天学会php之第七天
2006/10/09 PHP
PHP中数组合并的两种方法及区别介绍
2012/09/14 PHP
PHP 图片处理
2020/09/16 PHP
jQuery 过滤not()与filter()实例代码
2012/05/10 Javascript
struts2+jquery+json实现异步加载数据(自写)
2013/06/24 Javascript
简述JavaScript对传统文档对象模型的支持
2015/06/16 Javascript
JS实现仿腾讯微博无刷新删除微博效果代码
2015/10/16 Javascript
基于JavaScript获取鼠标位置的各种方法
2015/12/16 Javascript
JS、jQuery中select的用法详解
2016/04/21 Javascript
JavaScript 消息框效果【实现代码】
2016/04/27 Javascript
javascript类型系统——日期Date对象全面了解
2016/07/13 Javascript
浅谈Javascript数据属性与访问器属性
2016/07/26 Javascript
JavaScript数据操作_浅谈原始值和引用值的操作本质
2016/08/23 Javascript
AngularJS 过滤与排序详解及实例代码
2016/09/14 Javascript
微信小程序  checkbox组件详解及简单实例
2017/01/10 Javascript
JS组件系列之MVVM组件 vue 30分钟搞定前端增删改查
2017/04/28 Javascript
基于jQuery实现的Ajax 验证用户名唯一性实例代码
2017/06/28 jQuery
vue 使用eventBus实现同级组件的通讯
2018/03/02 Javascript
微信小程序开发(一):服务器获取数据列表渲染操作示例
2020/06/01 Javascript
Python作用域用法实例详解
2016/03/15 Python
python中logging库的使用总结
2017/10/18 Python
Python图像处理之gif动态图的解析与合成操作详解
2018/12/30 Python
python学习--使用QQ邮箱发送邮件代码实例
2019/04/16 Python
在macOS上搭建python环境的实现方法
2019/08/13 Python
pytorch方法测试详解——归一化(BatchNorm2d)
2020/01/15 Python
CSS3 box-sizing属性
2009/04/17 HTML / CSS
Ticketmaster德国票务网站:购买音乐会和体育等门票
2016/11/14 全球购物
eBay法国购物网站:eBay.fr
2017/10/21 全球购物
幼儿园义卖活动方案
2014/01/17 职场文书
工作分析计划书
2014/04/30 职场文书
计生专干事迹
2014/05/28 职场文书
2015年客服工作总结范文
2015/04/02 职场文书
给老婆的检讨书(搞笑版)
2015/05/06 职场文书
Python Pandas常用函数方法总结
2021/06/15 Python
Python re.sub 反向引用的实现
2021/07/07 Python