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 相关文章推荐
利用soaplib搭建webservice详细步骤和实例代码
Nov 20 Python
wxPython中文教程入门实例
Jun 09 Python
Python 转义字符详细介绍
Mar 21 Python
Python中with及contextlib的用法详解
Jun 08 Python
利用python为运维人员写一个监控脚本
Mar 25 Python
Python异常处理操作实例详解
Aug 28 Python
python set集合使用方法解析
Nov 05 Python
Python实现报警信息实时发送至邮箱功能(实例代码)
Nov 11 Python
python的time模块和datetime模块实例解析
Nov 29 Python
Python Tornado核心及相关原理详解
Jun 24 Python
完美解决keras 读取多个hdf5文件进行训练的问题
Jul 01 Python
python实现sm2和sm4国密(国家商用密码)算法的示例
Sep 26 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实现面包屑导航例子分享
2015/12/19 PHP
PHP中header函数的用法及其注意事项详解
2016/06/13 PHP
Laravel框架实现多个视图共享相同数据的方法详解
2019/07/09 PHP
laravel 解决多库下的DB::transaction()事务失效问题
2019/10/21 PHP
浅谈下拉菜单中的Option对象
2015/05/10 Javascript
最精简的JavaScript实现鼠标拖动效果的方法
2015/05/11 Javascript
JavaScript中reduce()方法的使用详解
2015/06/09 Javascript
举例详解JavaScript中Promise的使用
2015/06/24 Javascript
JS阻止事件冒泡行为和闭包的方法
2016/06/16 Javascript
老生常谈JavaScript 函数表达式
2016/09/01 Javascript
详解Angular4中路由Router类的跳转navigate
2017/06/09 Javascript
微信小程序动态增加按钮组件
2018/09/14 Javascript
JS使用数组实现的队列功能示例
2019/03/04 Javascript
使用flow来规范javascript的变量类型
2019/09/12 Javascript
[01:01:52]DOTA2-DPC中国联赛正赛 iG vs LBZS BO3 第一场 3月4日
2021/03/11 DOTA
基于Django filter中用contains和icontains的区别(详解)
2017/12/12 Python
Django添加favicon.ico图标的示例代码
2018/08/07 Python
python判断计算机是否有网络连接的实例
2018/12/15 Python
Python爬虫实现自动登录、签到功能的代码
2020/08/20 Python
Python hashlib模块的使用示例
2020/10/09 Python
css3实现信纸/同学录效果的示例代码
2018/12/11 HTML / CSS
为奢侈时尚带来了慈善元素:Olivela
2018/09/29 全球购物
2014端午节活动策划方案
2014/01/27 职场文书
厨师长岗位职责
2014/03/02 职场文书
工商管理专业大学生职业生涯规划范文
2014/03/09 职场文书
农村改厕实施方案
2014/03/22 职场文书
公司合作意向书
2014/04/01 职场文书
保护环境倡议书范文
2014/05/13 职场文书
2014年秋季开学演讲稿
2014/05/24 职场文书
老干部工作先进事迹
2014/08/17 职场文书
党的群众路线个人对照检查材料
2014/09/23 职场文书
十八大标语口号
2014/10/09 职场文书
2014年团总支工作总结
2014/11/21 职场文书
《叶问2》观后感
2015/06/15 职场文书
高温慰问简报
2015/07/21 职场文书
九年级英语教学反思
2016/02/15 职场文书