当前位置: 首页 > news >正文

python time 与datetime之间的区别与联系

一.time模块

time模块提供各种操作时间的函数

  一般有两种表示时间的方式:

  第一种是时间戳的方式(相对于1970.1.1 00:00:00以秒计算的偏移量),时间戳是惟一的

#当前时间的时间戳  

1
2
In [ 9 ]: time.time()  
Out[ 9 ]:  1376102328.536908


第二种以数组的形式表示即(struct_time),共有九个元素,分别表示,同一个时间戳的struct_time会因为时区不同而不同

1
2
In [ 2 ]: time.localtime()  
Out[ 2 ]: time.struct_time(tm_year = 2013 , tm_mon = 8 , tm_mday = 10 , tm_hour = 10 , tm_min = 30 , tm_sec = 47 , tm_wday = 5 , tm_yday = 222 , tm_isdst = 0 )


 gmtime()与mktime()可以将两种时间表示方法自由转换

1
2
In [ 22 ]: time.gmtime(time.time())  
Out[ 22 ]: time.struct_time(tm_year = 2013 , tm_mon = 8 , tm_mday = 10 , tm_hour = 2 , tm_min = 46 , tm_sec = 54 , tm_wday = 5 , tm_yday = 222 , tm_isdst = 0 )

  

1
2
In [ 23 ]: time.mktime(time.localtime())  
Out[ 23 ]:  1376102845.0

 

strftime()可以将struct_time类型自由转换成字符型

1
2
In [ 24 ]: time.strftime( "%Y%m%d" , time.localtime())  
Out[ 24 ]:  '20130810'


strptime(string, format) 将时间字符串根据指定的格式化符转换成数组形式的时间

1
2
In [ 26 ]: time.strptime( '20130810' "%Y%m%d" )  
Out[ 26 ]: time.struct_time(tm_year = 2013 , tm_mon = 8 , tm_mday = 10 , tm_hour = 0 , tm_min = 0 , tm_sec = 0 , tm_wday = 5 , tm_yday = 222 , tm_isdst = - 1 )

注意,不能直接将时间戳转换为字符串,时间串也不能直接转换为时间戳,只能通过localtime,利用mktime方法来转


二.datetime模块

1
2
In [ 27 ]: datetime.datetime.now()  
Out[ 27 ]: datetime.datetime( 2013 8 10 10 56 10 611490 )


strftime方法,可以将一个datetime型日期转换成字符串

1
2
In [ 28 ]: datetime.datetime.now().strftime( "%Y%m%d" )  
Out[ 28 ]:  '20130810'

datetime.strptime(date_string, format):将格式字符串转换为datetime对象

1
2
In [ 30 ]: datetime.datetime.strptime( "20130810" "%Y%m%d" )  
Out[ 30 ]: datetime.datetime( 2013 8 10 0 0 )


三.计算当前时间的前1天

1
one_day_before  =  datetime.datetime.today()  -  datetime.timedelta(days = 1 )

天:days

小时:hours

分钟:minutes


四.time与datetime之间的互相转换

time 转为datetime

1
2
=  time.time()
datetime.datetime.fromtimestamp(a)

datetime 转为time

1
2
=  datetime.datetime.now()
time.mktime(b.timetuple())



参考:http://iam42.iteye.com/blog/1922875

   http://blog.csdn.net/hong201/article/details/3193121




      本文转自布拉君君 51CTO博客,原文链接:http://blog.51cto.com/5148737/1760596,如需转载请自行联系原作者





相关文章:

  • Exchange帐号如何手动更新?
  • MySQL体系结构:八大功能模块浅析
  • 如何读取磁盘温度
  • 【FTP】FTP 命令模式下 PASV OR PORT
  • mysql如何保证redolog和binlog的一致性,安全性,效率。
  • C++连接mysql数据库的两种方法
  • 集成银联3.3.0
  • 群集笔记
  • 教徒计划出品:同一端口同时启用PEAP和MAC地址旁路(适用于IPPhone串接PC的网络环境)...
  • 百度的“框”正在移动
  • MySQL RESET MASTER与RESET SLAVE
  • Lua 面向对象
  • java socket通信-传输文件图片--传输图片
  • 为Unreal添加一个定时运行的功能模块
  • Swap in C C++ C# Java
  • Android单元测试 - 几个重要问题
  • ES6--对象的扩展
  • HTTP那些事
  • Java多线程(4):使用线程池执行定时任务
  • MySQL-事务管理(基础)
  • Python学习之路16-使用API
  • Redis学习笔记 - pipline(流水线、管道)
  • springboot_database项目介绍
  • Sublime Text 2/3 绑定Eclipse快捷键
  • V4L2视频输入框架概述
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 记一次删除Git记录中的大文件的过程
  • 如何用vue打造一个移动端音乐播放器
  • 什么是Javascript函数节流?
  • 我感觉这是史上最牛的防sql注入方法类
  • 学习笔记TF060:图像语音结合,看图说话
  • 一个JAVA程序员成长之路分享
  • 阿里云服务器如何修改远程端口?
  • # Maven错误Error executing Maven
  • #Linux(make工具和makefile文件以及makefile语法)
  • #Linux(Source Insight安装及工程建立)
  • #pragma 指令
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • (4)STL算法之比较
  • (C语言)字符分类函数
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (第二周)效能测试
  • (过滤器)Filter和(监听器)listener
  • (四)c52学习之旅-流水LED灯
  • (转)编辑寄语:因为爱心,所以美丽
  • (转载)OpenStack Hacker养成指南
  • . NET自动找可写目录
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .Net mvc总结
  • [ 代码审计篇 ] 代码审计案例详解(一) SQL注入代码审计案例
  • [ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(十)RCE (远程代码/命令执行漏洞)相关面试题
  • [Arduino学习] ESP8266读取DHT11数字温湿度传感器数据
  • [C# 开发技巧]实现属于自己的截图工具
  • [C/C++]数据结构 栈和队列()