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入门指引
Apr 01 Python
Python实现删除当前目录下除当前脚本以外的文件和文件夹实例
Jul 27 Python
Python正则表达式经典入门教程
May 22 Python
解决python删除文件的权限错误问题
Apr 24 Python
对python中Json与object转化的方法详解
Dec 31 Python
对python中类的继承与方法重写介绍
Jan 20 Python
dataframe 按条件替换某一列中的值方法
Jan 29 Python
Python实现的统计文章单词次数功能示例
Jul 08 Python
Python3 chardet模块查看编码格式的例子
Aug 14 Python
Django admin.py 在修改/添加表单界面显示额外字段的方法
Aug 22 Python
Pycharm最常用的快捷键及使用技巧
Mar 05 Python
如何使用Python提取Chrome浏览器保存的密码
Jun 09 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
PHP4引用文件语句的对比
2006/10/09 PHP
粗略计算在线时间,bug:ip相同
2006/12/09 PHP
php中的实现trim函数代码
2007/03/19 PHP
PHP命名空间(Namespace)简明教程
2014/06/11 PHP
Thinkphp中数据按分类嵌套循环实现方法
2014/10/30 PHP
php include类文件超时问题处理
2015/02/06 PHP
js 全兼容可高亮二级缓冲折叠菜单
2010/06/04 Javascript
鼠标滑上去后图片放大浮出效果的js代码
2011/05/28 Javascript
jQuery .tmpl(), .template()学习资料小结
2011/07/18 Javascript
让人印象深刻的10个jQuery手风琴效果应用
2012/05/08 Javascript
js实现带搜索功能的下拉框实时搜索实时匹配
2013/11/05 Javascript
Javascript访问器属性实例分析
2014/12/30 Javascript
AngularJS指令详解及示例代码
2016/08/16 Javascript
相册展示PhotoSwipe.js插件实现
2016/08/25 Javascript
vue从使用到源码实现教程详解
2016/09/19 Javascript
webpack分离css单独打包的方法
2018/06/12 Javascript
详解angular2如何手动点击特定元素上的点击事件
2018/10/16 Javascript
JavaScript学习笔记之基于定时器实现图片无缝滚动功能详解
2019/01/09 Javascript
JQuery+Bootstrap 自定义全屏Loading插件的示例demo
2019/07/03 jQuery
vue实现两个组件之间数据共享和修改操作
2020/11/12 Javascript
JavaScript实现图片合成下载的示例
2020/11/19 Javascript
Python3实现带附件的定时发送邮件功能
2020/12/22 Python
python编程使用协程并发的优缺点
2018/09/20 Python
python输出电脑上所有的串口名的方法
2019/07/02 Python
Python代码一键转Jar包及Java调用Python新姿势
2020/03/10 Python
Django Serializer HiddenField隐藏字段实例
2020/03/31 Python
利用Python实现自动扫雷小脚本
2020/12/17 Python
几个Linux面试题笔试题
2016/08/01 面试题
介绍一下write命令
2014/08/10 面试题
自我鉴定范文300字
2013/10/01 职场文书
计算机应用与科学个人的自我评价
2013/11/15 职场文书
实习单位接收函
2014/01/11 职场文书
城管大队整治方案
2014/05/06 职场文书
学校政风行风整改方案
2014/10/25 职场文书
2015年保育员个人工作总结
2015/05/13 职场文书
分享几个JavaScript运算符的使用技巧
2021/04/24 Javascript