python time和datetime的常用转换处理
一、time
1、获取当前时间和时区
>>> now = time.time() # 当前时间 float类型
>>> time.strftime("%Y-%m-%d %H:%M:%S") #当前时间 str
'2016-11-04 15:29:58' >>> time.ctime() # 当前时间 english str
'Fri Nov 4 15:40:42 2016' >>> time.time()
1478244363.875308
>>> time.localtime() # 当前时间 time结构体
time.struct_time(tm_year=2016, tm_mon=11, tm_mday=4, tm_hour=15, tm_min=26, tm_sec=9, tm_wday=4, tm_yday=309, tm_isdst=0) >>> time.localtime(now) # float -> struct_time
time.struct_time(tm_year=2016, tm_mon=11, tm_mday=4, tm_hour=15, tm_min=26, tm_sec=1, tm_wday=4, tm_yday=309, tm_isdst=0) >>> time.strftime('%Z', time.localtime()) # 显示当前时区 China standard timezone
'CST'
>>> time.gmtime() # 显示UTC标准时间 跟中国相差8个钟
time.struct_time(tm_year=2016, tm_mon=11, tm_mday=4, tm_hour=7, tm_min=26, tm_sec=28, tm_wday=4, tm_yday=309, tm_isdst=0)
其中time.time()返回的一个float型,是从1970年1月1日0时起到当前经过的秒数,注意这里是分时区的
time.localtime()返回的是一个time结构体,其中包括tm_year,tm_mon,tm_mday,tm_hour,tm_min,tm_sec,tm_wday,tm_yday,tm_isdst=0(夏令时间标志)
2、时间字符串转成time格式
>>> a = '2016-11-04 15:29:58'
>>> time.strptime(a, "%Y-%m-%d %H:%M:%S")
time.struct_time(tm_year=2016, tm_mon=11, tm_mday=4, tm_hour=15, tm_min=29, tm_sec=58, tm_wday=4, tm_yday=309, tm_isdst=-1)
3、时间字符串转成float类型
>>> a = '2016-11-04 15:29:58'
>>> time.mktime(time.strptime(a, "%Y-%m-%d %H:%M:%S"))
1478244598.0
4、time tuple格式转成字符串
>>> time_tuple = (2016, 11, 04, 13, 51, 18, 2, 317, 0)
>>> time.strftime("%Y-%m-%d %H:%M:%S", time_tuple)
'2016-11-04 13:51:18'
5、float类型转成时间字符串
>>> a = 1478244598.0
>>> b = time.localtime(a)
>>> time.strftime("%Y-%m-%d %H:%M:%S", b)
'2016-11-04 15:29:58'
6、时间和日期格式化符号说明
%y 两位数的年份表示(-)
%Y 四位数的年份表示(-)
%m 月份(-)
%d 月内中的一天(-)
%H 24小时制小时数(-)
%I 12小时制小时数(-)
%M 分钟数(=)
%S 秒(-) %a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(-)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(-)星期天为星期的开始
%w 星期(-),星期天为星期的开始
%W 一年中的星期数(-)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身
二、datetime
1、获取当前时间
>>> datetime.datetime.now() # datetime tuple
datetime.datetime(2016, 11, 4, 15, 52, 17, 680405) >>> time.mktime(datetime.datetime.now().timetuple()) # float类型
1478245984.0
>>> datetime.datetime.now().replace(second=0, microsecond=0) # 秒数为0 毫秒数为0
datetime.datetime(2016, 11, 4, 15, 54) >>> datetime.date.today() # 当前天
datetime.date(2016, 11, 4)
2、datetime tuple转成时间字符串
>>> now = datetime.datetime.now()
>>> now.strftime("%Y-%m-%d %H:%S:%M")
'2016-11-04 16:06:00'
3、datetime tuple转成float类型
>>> now = datetime.datetime.now()
>>> time.mktime(now.timetuple())
1478246406.0
4、datetime date和time转换
>>> a = datetime.date(2016, 11, 4)
>>> datetime.datetime.strptime(str(a),'%Y-%m-%d')
datetime.datetime(2016, 11, 4, 0, 0)
>>> a
datetime.date(2016, 11, 4)
5、获取当前时间的前一段时间
now = datetime.datetime.now() # 前一小时
a = now - datetime.timedelta(hours=1)
print a.strftime("%Y-%m-%d %H:%S:%M") # 前一天
b = now - datetime.timedelta(days=1)
print b.strftime("%Y-%m-%d %H:%S:%M") # 上周日
c = now - datetime.timedelta(days=now.isoweekday())
print c.strftime("%Y-%m-%d %H:%S:%M")# 上周一
d = c - datetime.timedelta(days=6)
print d.strftime("%Y-%m-%d %H:%S:%M")# 上个月最后一天
e = now - datetime.timedelta(days=now.day)
print e.strftime("%Y-%m-%d %H:%S:%M") # 上个月第一天
print datetime.datetime(e.year, e.month, 1)
6、获取两个时间相差的秒数
(datetime.datetime.now() - datetime.datetime(1970, 1,1,0, 0, 0,0)).total_seconds() # 获取的是UTC标准时区的时间float类型
原创文章,转载请备注原文地址 http://www.cnblogs.com/lxmhhy/p/6030730.html
python time和datetime的常用转换处理的更多相关文章
- Python处理时间 time && datetime 模块
Python处理时间 time && datetime 模块 个人整理,获取时间方式: import datetime import time #获取当前时间:Thu Nov 03 ...
- python之路,Day24 常用设计模式学习
python之路,Day24 常用设计模式学习 本节内容 设计模式介绍 设计模式分类 设计模式6大原则 1.设计模式介绍 设计模式(Design Patterns) --可复用面向对象软件的基础 ...
- python 3.x 爬虫基础---常用第三方库(requests,BeautifulSoup4,selenium,lxml )
python 3.x 爬虫基础 python 3.x 爬虫基础---http headers详解 python 3.x 爬虫基础---Urllib详解 python 3.x 爬虫基础---常用第三方库 ...
- 『Python基础-5』数字,运算,转换
『Python基础-5』数字,运算,转换 目录 基本的数字类型 二进制,八进制,十六进制 数字类型间的转换 数字运算 1. 数字类型 Python 数字数据类型用于存储数学上的值,比如整数.浮点数.复 ...
- C# MVC 用户登录状态判断 【C#】list 去重(转载) js 日期格式转换(转载) C#日期转换(转载) Nullable<System.DateTime>日期格式转换 (转载) Asp.Net MVC中Action跳转(转载)
C# MVC 用户登录状态判断 来源:https://www.cnblogs.com/cherryzhou/p/4978342.html 在Filters文件夹下添加一个类Authenticati ...
- python学习二,字符串常用操作
字符串可以说是在日常开发中应用最广泛的了,现在来总结下有关python中有关字符串一些常用操作 首先我们声明一个字符串变量 str = "hello world" 下面我们来依次介 ...
- python 之 Django框架(ORM常用字段和字段参数、关系字段和和字段参数)
12.324 Django ORM常用字段 .id = models.AutoField(primary_key=True):int自增列,必须填入参数 primary_key=True.当model ...
- Python时间模块datetime用法
时间模块datetime是python内置模块,datetime是Python处理日期和时间的标准库. 1,导入时间模块 from datetime import datetime 2,实例 from ...
- JavaScript 解析 Django Python 生成的 datetime 数据 时区问题解决
JavaScript 解析 Django/Python 生成的 datetime 数据 当Web后台使用Django时,后台生成的时间数据类型就是Python类型的. 项目需要将几个时间存储到数据库中 ...
随机推荐
- WebSocket 介绍(二)-WebSocket API
这一章介绍如何用WebSocket API来控制协议和创建应用,运用http://websocket.org 提供的现有WebSocket服务器,我们可以收发消息.创建一些简单的WebSocket应用 ...
- C#+JQuery+.Ashx+百度Echarts实现全国省市地图和饼状图动态数据图形报表的统计
在目前的一个项目中,需要用到报表表现数据,这些数据有多个维度,需要同时表现出来,同时可能会有大量数据呈现的需求,经过几轮挑选,最终选择了百度的echarts作为报表基础类库.echarts功能强大,界 ...
- 关系数据库SQL之高级数据查询:去重复、组合查询、连接查询、虚拟表
前言 接上一篇关系数据库SQL之基本数据查询:子查询.分组查询.模糊查询,主要是关系型数据库基本数据查询.包括子查询.分组查询.聚合函数查询.模糊查询,本文是介绍一下关系型数据库几种高级数据查询SQL ...
- MS SQL Server中数据表、视图、函数/方法、存储过程是否存在判断及创建
前言 在操作数据库的时候经常会用到判断数据表.视图.函数/方法.存储过程是否存在,若存在,则需要删除后再重新创建.以下是MS SQL Server中的示例代码. 数据表(Table) 创建数据表的时候 ...
- jquery仿搜狐投票动画代码
体验效果:http://hovertree.com/texiao/jquery/21/ 这是一款基于jquery实现的仿搜狐投票动画特效源码,运行该源码可见VS图标首先出现在中间位置,紧接着随着投票比 ...
- 芒果TV招聘研发工程师(JAVA PYTHON),地点长沙
长沙芒果TV招聘高级 JAVA Python 工程师,工作地点:湖南广电 有兴趣的邮件0xmalloc@gmail.com; zealotyin@qq.com 公司有一大批从北京上海一线互联网企业 ...
- 【JAVA并发编程实战】9、锁分段
package cn.study.concurrency.ch11; /** * 锁分段 * @author xiaof * */ public class StripedMap { //同步策略:就 ...
- PHP常量
常量的定义 在PHP中,常量的声明是通过define()函数来定义的,它也是对大小写敏感的,按照一般的习惯PHP常量总是大写的,且不能再命名的常量之前加上$符号,在这里详细介绍一下define()函数 ...
- Singleton
1.//懒汉模式 //天生线程不安全,但是效率高 public class Singleton { private static Singleton singleton; private Single ...
- 关系型数据库与NOSQL
本文转载自: http://www.cnblogs.com/chay1227/archive/2013/03/17/2964020.html(只作转载, 不代表本站和博主同意文中观点或证实文中信息) ...