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基于xmlrpc实现二进制文件传输的方法
Jun 02 Python
利用python实现命令行有道词典的方法示例
Jan 31 Python
python运行其他程序的实现方法
Jul 14 Python
Python元组拆包和具名元组解析实例详解
Mar 26 Python
python排序函数sort()与sorted()的区别
Sep 18 Python
在Pycharm中修改文件默认打开方式的方法
Jan 17 Python
python发送多人邮件没有展示收件人问题的解决方法
Jun 21 Python
树莓派安装OpenCV3完整过程的实现
Oct 10 Python
python3利用Axes3D库画3D模型图
Mar 25 Python
设置jupyter中DataFrame的显示限制方式
Apr 12 Python
详解Python中@staticmethod和@classmethod区别及使用示例代码
Dec 14 Python
django上传文件的三种方式
Apr 29 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分页示例代码
2007/03/19 PHP
(PHP实现)只使用++运算实现加法,减法,乘法,除法
2013/06/27 PHP
ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例
2014/07/22 PHP
非常经典的PHP文件上传类分享
2016/05/15 PHP
php版阿里大于(阿里大鱼)短信发送实例详解
2016/11/30 PHP
php把字符串指定字符分割成数组的方法
2018/03/12 PHP
div移动 输入框不能输入的问题
2009/11/19 Javascript
基于Jquery实现表格动态分页实现代码
2011/06/21 Javascript
JS HTML5 音乐天气播放器(Ajax获取天气信息)
2013/05/26 Javascript
js中的数组Array定义与sort方法使用示例
2013/08/29 Javascript
js中document.write使用过程中的一点疑问解答
2014/03/20 Javascript
用js闭包的方法实现多点标注冒泡示例
2014/05/29 Javascript
node.js中的querystring.escape方法使用说明
2014/12/10 Javascript
javascript常用正则表达式汇总
2015/07/31 Javascript
阿里云ecs服务器中安装部署node.js的步骤
2016/10/08 Javascript
详解使用angular-cli发布i18n多国语言Angular应用
2017/05/20 Javascript
node.js操作mongodb简单示例分享
2017/05/25 Javascript
Vue项目webpack打包部署到服务器的实例详解
2017/07/17 Javascript
JavaScript表单即时验证 验证不成功不能提交
2017/08/31 Javascript
原生js实现简单轮播图
2020/10/26 Javascript
Vue + ts实现轮播插件的示例
2020/11/10 Javascript
python原始套接字编程示例分享
2014/02/21 Python
十个Python程序员易犯的错误
2015/12/15 Python
Django 视图层(view)的使用
2018/11/09 Python
python版大富翁源代码分享
2018/11/19 Python
解决python测试opencv时imread导致的错误问题
2019/01/26 Python
在VS2017中用C#调用python脚本的实现
2019/07/31 Python
python 爬取古诗文存入mysql数据库的方法
2020/01/08 Python
Python3爬虫中Selenium的用法详解
2020/07/10 Python
简历中自我评价怎么写
2014/02/12 职场文书
机械设计及其自动化求职推荐信
2014/02/17 职场文书
国际经济与贸易专业求职信
2014/07/10 职场文书
乡镇计划生育工作汇报
2014/10/28 职场文书
开学第一天的感想
2015/08/10 职场文书
红领巾广播站广播稿
2015/08/19 职场文书
Java获取字符串编码格式实现思路
2022/09/23 Java/Android