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中处理字符串之isdigit()方法的使用
May 18 Python
R语言 vs Python对比:数据分析哪家强?
Nov 17 Python
Numpy中的mask的使用
Jul 21 Python
浅谈Pycharm调用同级目录下的py脚本bug
Dec 03 Python
Python 200行代码实现一个滑动验证码过程详解
Jul 11 Python
python3中替换python2中cmp函数的实现
Aug 20 Python
python进阶之自定义可迭代的类
Aug 20 Python
python的slice notation的特殊用法详解
Dec 27 Python
Python调用Windows API函数编写录音机和音乐播放器功能
Jan 05 Python
Python使用循环神经网络解决文本分类问题的方法详解
Jan 16 Python
Python sublime安装及配置过程详解
Jun 29 Python
Python第三方库安装缓慢的解决方法
Feb 06 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 a simple smtp class
2007/11/26 PHP
php一次性删除前台checkbox多选内容的方法
2013/09/22 PHP
分析PHP中单双引号的误区和双引号小隐患
2016/07/19 PHP
datePicker——日期选择控件(with jquery)
2007/02/20 Javascript
深入理解JavaScript系列(12) 变量对象(Variable Object)
2012/01/16 Javascript
Jquery判断radio、selelct、checkbox是否选中及获取选中值方法总结
2015/04/15 Javascript
javascript关于继承解析
2016/05/10 Javascript
BootStrap中Tab页签切换实例代码
2016/05/30 Javascript
bootstrap基础知识学习笔记
2016/11/02 Javascript
利用Vue.js+Node.js+MongoDB实现一个博客系统(附源码)
2017/04/24 Javascript
为你的微信小程序体积瘦身详解
2017/05/20 Javascript
JavaScript html5 canvas实现图片上画超链接
2017/10/20 Javascript
vue.js实现只弹一次弹框
2018/01/29 Javascript
使用express搭建一个简单的查询服务器的方法
2018/02/09 Javascript
如何使用JavaScript实现栈与队列
2019/06/24 Javascript
vue2.0项目集成Cesium的实现方法
2019/07/30 Javascript
Python中几个比较常见的名词解释
2015/07/04 Python
详解MySQL数据类型int(M)中M的含义
2016/11/20 Python
Django中的forms组件实例详解
2018/11/08 Python
在PyCharm下打包*.py程序成.exe的方法
2018/11/29 Python
Python3.5内置模块之random模块用法实例分析
2019/04/26 Python
用vue.js组件模拟v-model指令实例方法
2019/07/05 Python
关于pytorch中网络loss传播和参数更新的理解
2019/08/20 Python
python线程池如何使用
2020/05/28 Python
python小白学习包管理器pip安装
2020/06/09 Python
html5 实现客户端验证上传文件的大小(简单实例)
2016/05/15 HTML / CSS
YOINS官网:时尚女装网上购物
2017/03/17 全球购物
商场中秋节活动方案
2014/02/07 职场文书
出纳试用期自我鉴定
2014/04/07 职场文书
分公司总经理岗位职责
2014/07/30 职场文书
门市房租房协议书
2014/12/04 职场文书
通讯稿格式及范文
2015/07/22 职场文书
小学体育教学随笔
2015/08/14 职场文书
创业计划书之养殖业
2019/10/11 职场文书
解读MySQL的客户端和服务端协议
2021/05/10 MySQL
MySQL 重命名表的操作方法及注意事项
2021/05/21 MySQL