python时间格式化代码_Python datetime格式化代码

1、datetime格式化代码

1)datetime模块中包含如下类:类名功能说明date日期对象,常用的属性有year, month, day

time时间对象

datetime日期时间对象,常用的属性有hour, minute, second, microsecond

datetime_CAPI日期时间对象C语言接口

timedelta时间间隔,即两个时间点之间的长度

tzinfo时区信息对象

2)静态方法和字段datetime.today():返回一个表示当前本地时间的datetime对象;

datetime.now([tz]):返回一个表示当前本地时间的datetime对象,如果提供了参数tz,则获取tz参数所指时区的本地时间;

datetime.utcnow():返回一个当前utc时间的datetime对象;#格林威治时间

datetime.fromtimestamp(timestamp[, tz]):根据时间戮创建一个datetime对象,参数tz指定时区信息;

datetime.utcfromtimestamp(timestamp):根据时间戮创建一个datetime对象;

datetime.combine(date, time):根据date和time,创建一个datetime对象;

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

3)方法和属性dt=datetime.now()#datetime对象#dt.year、month、day、hour、minute、second、microsecond、tzinfo:

dt.date():获取date对象;

dt.time():获取time对象;

dt.replace([year[,month[,day[,hour[,minute[,second[,microsecond[,tzinfo]]]]]]]]):

dt.timetuple()

dt.utctimetuple()

dt.toordinal()

dt.weekday()

dt.isocalendar()

dt.isoformat([ sep] )

dt.ctime():返回一个日期时间的C格式字符串,等效于time.ctime(time.mktime(dt.timetuple()));

dt.strftime(format)

6、使用timedelta类实现时间加减#coding:utf-8

from datetime import *

dt = datetime.now()

#日期减一天

dt1 = dt + timedelta(days=-1)#昨天

dt2 = dt - timedelta(days=1)#昨天

dt3 = dt + timedelta(days=1)#明天

delta_obj = dt3-dt

print type(delta_obj),delta_obj# 1 day, 0:00:00

print delta_obj.days ,delta_obj.total_seconds()#1 86400.0

7、tzinfo时区类#! /usr/bin/python

# coding=utf-8

from datetime import datetime, tzinfo,timedelta

"""

tzinfo是关于时区信息的类

tzinfo是一个抽象类,所以不能直接被实例化

"""

class UTC(tzinfo):

"""UTC"""

def __init__(self,offset = 0):

self._offset = offset

def utcoffset(self, dt):

return timedelta(hours=self._offset)

def tzname(self, dt):

return "UTC +%s" % self._offset

def dst(self, dt):

return timedelta(hours=self._offset)

#北京时间

beijing = datetime(2011,11,11,0,0,0,tzinfo = UTC(8))

print "beijing time:",beijing

#曼谷时间

bangkok = datetime(2011,11,11,0,0,0,tzinfo = UTC(7))

print "bangkok time",bangkok

#北京时间转成曼谷时间

print "beijing-time to bangkok-time:",beijing.astimezone(UTC(7))

#计算时间差时也会考虑时区的问题

timespan = beijing - bangkok

print "时差:",timespan

#Output==================

# beijing time: 2011-11-11 00:00:00+08:00

# bangkok time 2011-11-11 00:00:00+07:00

# beijing-time to bangkok-time: 2011-11-10 23:00:00+07:00

# 时差: -1 day, 23:00:00

所有合法格式代码的参考:标识含义举例

%a星期简写Mon

%A星期全称Monday

%b月份简写Mar

%B月份全称March

%c适合语言下的时间表示May Mon May 20 16:00:02 2013

%d一个月的第一天,取值范围: [01,31].20

%H24小时制的小时,取值范围[00,23].17

%I12小时制的小时,取值范围 [01,12].10

%j一年中的第几天,取值范围 [001,366].120

%m十进制月份,取值范围[01,12].50

%M分钟,取值范围 [00,59].50

%p上、下午,AM 或 PM.PM

%S秒,取值范围 [00,61].30

%U这一年的星期数(星期天为一个星期的第一天,

开年的第一个星期天之前的天记到第0个星期)

趋势范围[00,53]。20

%w星期的十进制表示,取值范围 [0(星期天),6].1

%W这一年的星期数(星一为一个星期的第一天,

开年的第一个星期一之前的天记到第0个星期)

趋势范围[00,53]。20

%x特定自然语言下的日期表示05/20/13

%X特定自然语言下的时间表示16:00:02

%y年的后两位数,取值范围[00,99].13

%Y完整的年2013

%Z时区名CST(China Standard Time)

%%%字符%

相关文档:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值