Python timedelta(转)
来源:互联网 发布:恋人网软件可信么 编辑:程序博客网 时间:2024/06/05 12:00
- 1 millisecond(毫秒) 转换成 1000 microseconds(微秒)
- 1 minute 转换成 60 seconds
- 1 hour 转换成 3600 seconds
- 1 week转换成 7 days
- 0 <= microseconds < 1000000
- 0 <= seconds < 3600*24 (the number of seconds in one day)
- -999999999 <= days <= 999999999
- >>> datetime.timedelta(hours=1.232,seconds=20).microseconds
- 200000
- >>> datetime.timedelta(hours=1.232,seconds=20.3).microseconds
- 500000
支持的操作有:
1 = t2 + t3两个timedelta对象相加,同时满足 t1-t2 == t3 and t1-t3 == t2 为Truet1 = t2 - t3两个timedelta对象相减, 同时满足 t1 == t2 - t3 and t2 == t1 + t3 为Truet1 = t2 * i or t1 = i * t2timedelta对象分别乘以i 同时满足 t1 // i == t2 为True, 且 i != 0t1 = t2 // i向下取整,余数部分被丢弃+t1返回和t1相同值的timedelta对象-t1取反操作,等价于timedelta(-t1.days, -t1.seconds, -t1.microseconds)和 t1* -1abs(t)绝对值,等价于: +t 当 t.days >= 0, -t 当 t.days < 0str(t)返回字符串,格式为: [D day[s], ][H]H:MM:SS[.UUUUUU]repr(t)返回字符串,格式为: datetime.timedelta(D[, S[, U]])
- >>> datetime.datetime.now()
- datetime.datetime(2013, 5, 23, 10, 49, 27, 182057)
- >>> datetime.datetime.now()+datetime.timedelta(2)
- datetime.datetime(2013, 5, 25, 10, 49, 29, 385559)
- # -*- encoding=UTF-8 -*-
- import datetime
- def timebefore(d):
- chunks = (
- (60 * 60 * 24 * 365, u'年'),
- (60 * 60 * 24 * 30, u'月'),
- (60 * 60 * 24 * 7, u'周'),
- (60 * 60 * 24, u'天'),
- (60 * 60, u'小时'),
- (60, u'分钟'),
- )
- #如果不是datetime类型转换后与datetime比较
- if not isinstance(d, datetime.datetime):
- d = datetime.datetime(d.year,d.month,d.day)
- now = datetime.datetime.now()
- delta = now - d
- #忽略毫秒
- before = delta.days * 24 * 60 * 60 + delta.seconds #python2.7直接调用 delta.total_seconds()
- #刚刚过去的1分钟
- if before <= 60:
- return u'刚刚'
- for seconds,unit in chunks:
- count = before // seconds
- if count != 0:
- break
- return unicode(count)+unit+u"前"
实例2:
‘’‘当前的时间上加一天或一年减一天等操作’‘’
- #!/usr/bin/env python
- # -*- coding:utf-8 -*-
- from datetime import datetime,timedelta
- now = datetime.now()
- yestoday = now - timedelta(days=1)
- tommorow = now + timedelta(days=1)
- next_year = now + timedelta(days = 365)
例子:
import time
import datetime
def datetime2timestamp(dt, convert_to_utc=False):
''' Converts a datetime object to UNIX timestamp in milliseconds. '''
if isinstance(dt, datetime.datetime):
if convert_to_utc: # 是否转化为UTC时间
dt = dt + datetime.timedelta(hours=-8) # 中国默认时区
timestamp = datetime.timedelta.total_seconds(dt - datetime.datetime(1970,1,1))
return long(timestamp)
return dt
def timestamp2datetime(timestamp, convert_to_local=False):
''' Converts UNIX timestamp to a datetime object. '''
if isinstance(timestamp, (int, long, float)):
dt = datetime.datetime.utcfromtimestamp(timestamp)
if convert_to_local: # 是否转化为本地时间
dt = dt + datetime.timedelta(hours=8) # 中国默认时区
return dt
return timestamp
def timestamp_utc_now():
return datetime2timestamp(datetime.datetime.utcnow())
print datetime.datetime.utcnow()
print timestamp_utc_now()
- Python timedelta(转)
- python的timedelta
- python timedelta&date说明
- Python中的timedelta
- python datetime.timedelta对象
- python—timedelta
- python中 timedelta
- Python datetime 模块之timedelta
- Python datetime 模块之timedelta
- timedelta
- Python中datetime.timedelta的应用
- python 日期处理 date,datetime,timedelta
- python datetime.timedelta的日期计算
- Python中datetime.timedelta的应用
- Python中时间的处理之——timedelta篇
- Python中时间的处理之——timedelta篇
- python 使用datetime模块timedelta实现日期时间相加
- python 使用datetime模块timedelta实现日期时间相加
- 使用BP神经网络对两个数作异或运算(转)
- tmx瓦片地图文件内容的解析与地图自动生成
- 开源路由器openWrt教程(转)
- mac安装Matlab 2014b(转)
- FIX协议结构及工作流程(转)
- Python timedelta(转)
- fix协议中消息尾校验方法
- 一根管子就能种出全家人吃的菜
- Java中的Protobuf使用例子(转)
- java中ini文件工具(转)
- stunnel加密通道使用实践
- 用逆序字符串C
- python获取操作系统类型及编译为pyc
- 在Mac下用Eclipse和Rhino For Mac搭建RhinoPython编辑运行环境(转)