python 常用 time, datetime处理
python 中 time 有三种格式:
float,
struct tuple(time.struct_time 或 datetime.datetime),
str
常用的:
float --> struct tuple: time.localtime( float )
struct time tuple --> str: time.strftime(format, struct time tuple)
str --> struct time tuple: time.strptime(str, format)
struct time tuple --> float : time.mktime(struct time tuple)
struct time tuple --> datetime: datetime(*time_tuple[0:6])
float --> datetime: datetime.datetime.fromtimestamp( float )
datetime --> str: datetime.strftime(format, datetime)
str --> datetime: datetime.strptime(str, format)
datetime --> struct time tuple: datetime.timetuple()
Note:
time 是 float 为基础,小数点后是毫秒,整数部分是秒。(Java 是毫秒,所以,python_time*1000 == Java_time)
datetime 是int, 略去了毫秒部分。datetime tuple 少于 struct_time
1. 当前时间
>>> import time
>>> time.time()
1450681042.751 >>> time.localtime(time.time())
time.struct_time(tm_year=2015, tm_mon=12, tm_mday=21, tm_hour=15, tm_min=0, tm_sec=2, tm_wday=0, tm_yday=355, tm_isdst=0) >>> time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
'2015-12-21 15:01:28' >>> from datetime import datetime
>>> datetime.now()
datetime.datetime(2015, 12, 21, 14, 58, 38, 279000) >>> datetime.today()
datetime.datetime(2015, 12, 21, 14, 59, 20, 204000) >>> now = datetime.now()
>>> now.year, now.month, now.day, now.hour, now.minute, now.second, now.microsecond >>> now.isocalendar() # 2015年 第52周 星期一
(2015, 52, 1) >>> now.isoweekday() # 星期几,1:Monday; 而 now.weekday() 返回值从0开始
1
2. 日期字符串--> 日期
>>> s='2015-12-21 15:01:28'
>>> timeTuple = datetime.strptime(s, '%Y-%m-%d %H:%M:%S')
datetime.datetime(2015, 12, 21, 15, 1, 28) >>> datetime.datetime.strftime('%Y/%m/%d %H:%M:%S', timeTuple)
>>> s='2015-12-21 15:01:28'
>>> timeTuple = datetime.strptime(s, '%Y-%m-%d %H:%M:%S')
time.struct_time(tm_year=2015, tm_mon=12, tm_mday=21, tm_hour=15, tm_min=1, tm_sec=28, tm_wday=0, tm_yday=355, tm_isdst=-1) >>> time.strftime('%Y/%m/%d %H:%M:%S',timeTuple)
python中时间日期格式化符号:
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59) %a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身
3. 时间戳
>>> time.mktime(time.strptime(s,'%Y-%m-%d %H:%M:%S'))
1450681288.0 >>> int(time.time())
# timestamp to time tuple in UTC
timestamp = 1226527167.595983
time_tuple = time.gmtime(timestamp)
print repr(time_tuple)
# timestamp to time tuple in local time
timestamp = 1226527167.595983
time_tuple = time.localtime(timestamp)
print repr(time_tuple)
2. 日期相加减
import datetime now = datetime.datetime.now() # datetime.datetime(2015, 12, 16, 15, 6, 37, 420000)
dayOfweek = datetime.datetime.isoweekday()
if dayOfweek == 1: # Monday
last_time = now + datetime.timedelta(days=-3)
else:
last_time = now + datetime.timedelta(days=-1)
转自:http://www.cnblogs.com/snow-backup/p/5063665.html
python 常用 time, datetime处理的更多相关文章
- Python常用模块--datetime
datetime是Python专门用于处理日期和时间的标准模块. 1.获取当前的本地时间 #!/usr/bin/env python# -*- coding:utf-8 -*-__author__ = ...
- Python常用模块-时间模块(time&datetime)
Python常用模块-时间模块(time & datetime) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.初始time模块 #!/usr/bin/env pyth ...
- python常用模块之time&datetime模块
python常用模块之time&datetime模块 在平常的代码中,我们经常要与时间打交道.在python中,与时间处理有关的模块就包括:time和datetime,下面分别来介绍: 在开始 ...
- Python常用模块之sys
Python常用模块之sys sys模块提供了一系列有关Python运行环境的变量和函数. 常见用法 sys.argv 可以用sys.argv获取当前正在执行的命令行参数的参数列表(list). 变量 ...
- Python常用内建模块
Python常用内建模块 datetime 处理日期和时间的标准库. 注意到datetime是模块,datetime模块还包含一个datetime类,通过from datetime import da ...
- Python常用模块——目录
Python常用模块学习 Python模块和包 Python常用模块time & datetime &random 模块 Python常用模块os & sys & sh ...
- 转:python常用运维脚本实例
python常用运维脚本实例 转载 file是一个类,使用file('file_name', 'r+')这种方式打开文件,返回一个file对象,以写模式打开文件不存在则会被创建.但是更推荐使用内置函 ...
- python常用运维脚本实例【转】
file是一个类,使用file('file_name', 'r+')这种方式打开文件,返回一个file对象,以写模式打开文件不存在则会被创建.但是更推荐使用内置函数open()来打开一个文件 . 首先 ...
- Python常用功能函数
Python常用功能函数汇总 1.按行写字符串到文件中 import sys, os, time, json def saveContext(filename,*name): format = '^' ...
随机推荐
- 换Mac了,迈入了终端的大门
多终端其实本质和多线程一样,所有终端其实都共享着同一个内存只不过不同终端对共享内存不同部分的权限不同罢了所以对终端的数量必须要有限制 我这里开启了四个线程,很明显四个线程都在跑同一个内存而且四个线程都 ...
- tomcat 最大并发连接数设置
转自: http://blog.csdn.net/qysh123/article/details/11678903 这是个很简单的问题,但是搜了一圈,发现大家都写错了.所以这里总结一下: 几乎所有的中 ...
- C++ STL 优先队列 priority_queue 详解(转)
转自https://blog.csdn.net/c20182030/article/details/70757660,感谢大佬. 优先队列 引入 优先队列是一种特殊的队列,在学习堆排序的时候就有所了解 ...
- USACO 1.2.2 Transformations 方块转换
Description 一块N x N(1<=N<=10)正方形的黑白瓦片的图案要被转换成新的正方形图案.写一个程序来找出将原始图案按照以下列转换方法转换成新图案的最小方式: 1:转90度 ...
- 配置EditPlus编辑器使其成为Python的编辑、执行环境
1.添加Python群组 运行EditPlus,选择工具→配置用户工具进入参数设置框. 单击添加工具→应用程序.菜单文字输入python,命令为Python的安装路径,参数输入 $(FileName) ...
- Numpy and Pandas
安装 视频链接:https://morvanzhou.github.io/tutorials/data-manipulation/np-pd/ pip install numpy pip instal ...
- Hibernate(六)
三套查询之HQL查询 hql语句(面向):类 对象 属性 package com.rong.entity.hql; public class User { public User(int id ...
- CentOS 7 U盘安装问题解决
最近期待以久的CentOS 7正式版终于发布了,在家里无聊,所以就打算在我的小Y上安装一下,由于笔记本原来有安装Windows 7 操作系统,考虑使用的需求,所以决定安装双系统: 1. ...
- (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】
原文地址:http://www.cnblogs.com/melonblog/archive/2013/05/09/3062303.html 原文作者:豆浆油条 - melon 本文示例代码测试环境是W ...
- PHP中与类有关的几个魔术常量
与类有关的魔术常量: 以前学过的魔术常量: __FILE__ __DIR__ __LINE__ 现在: __CLASS__: 代表当前其所在的类的类名: __METHOD__:代表其当前所在的方法名: