今天是今年的第几天

产品经理让我统计下从1月1号到现在的日均交易额,总交易额倒是很好统计,但是今天是今年的第几天呢?好吧学学这个知识点吧。

time模块

import time
>>> time.gmtime()  # utc时间
time.struct_time(tm_year=2015, tm_mon=9, tm_mday=20, tm_hour=13, tm_min=6, tm_se
c=33, tm_wday=6, tm_yday=263, tm_isdst=0)
>>> time.localtime()  # 本地时间
time.struct_time(tm_year=2015, tm_mon=9, tm_mday=20, tm_hour=21, tm_min=6, tm_se
c=25, tm_wday=6, tm_yday=263, tm_isdst=0)
>>> time.time()  # 当前时间戳,从1970-1-1以来的秒数
1442754566.201
>>> time.mktime(time.localtime())  # 时间转成时间戳
1442754240.0

看看它的这些属性吧

tm_year=2015  # 年
tm_mon=9  # 月
tm_mday=20  # 日
tm_hour=21  # 时
tm_min=6  # 分
tm_sec=25  # 秒
tm_wday=6  # 星期
tm_yday=263  # 一年的第几天
tm_isdst=0  # 夏令时当前是否生效

# 属性可以这样使用
>>> time.localtime().tm_year
2015

time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime())  # 时间转字符串格式
'2015-09-20 13:33:59'
time.strptime('2015-09-20 13:33:59', '%Y-%m-%d %H:%M:%S')  # 字符串转时间
time.struct_time(tm_year=2015, tm_mon=9, tm_mday=20, tm_hour=13, tm_min=33, tm_s
ec=59, tm_wday=6, tm_yday=263, tm_isdst=-1)

datetime模块

from datetime import datetime, date, time
date.year
date.month
date.day
date.today()
date.weekday()
date.strftime(fmt)

time.hour
time.minute
time.second
time.microsecond
time.strftime(fmt)

# 平时使用最多的
datetime.today()  # 今天时间
datetime.now()  # 本地时间
datetime.utcnow()  # utc时间(比中国时间晚8小时,中国处东8区)
datetime.strptime(date_string, format)  # 字符串转时间
datetime.strftime(fmt)  # 时间转字符串
datetime.date()
datetime.time()
datetime.replace([year[, month[, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]]]]])
datetime.timetuple()
# time.struct_time(tm_year=2015, tm_mon=9, tm_mday=20, tm_hour=18, tm_min=36, tm_s
ec=5, tm_wday=6, tm_yday=263, tm_isdst=-1)
datetime.utctimetuple()
datetime.weekday()
datetime.ctime()
# 'Sun Sep 20 18:36:05 2015'

replace 与 timedelta比较

import datetime
now = datetime.date(2015,9,20)
tomorrow = now.replace(day = 19)
# datetime.date(2015, 9, 19)

d = datetime.timedelta(days=1)
tomorrow = now - d
# datetime.date(2015, 9, 19)

格式字符
%a 星期的简写,如星期三为Web
%A 星期的全写,如星期三为Wednesday
%b 月份的简写,如4月份为Apr
%B 月份的全写,如4月份为April
%c 日期时间的字符串表示。(如: 04/07/10 10:43:39)
%d 日在这个月中的天数(是这个月的第几天)
%f 微秒(范围[0,999999])
%H 小时(24小时制,[0, 23])
%I 小时(12小时制,[0, 11])
%j 日在年中的天数 [001,366](是当年的第几天)
%m 月份([01,12])
%M 分钟([00,59])
%p AM或者PM
%S 秒(范围为[00,61])
%U 周在当年的周数当年的第几周),星期天作为周的第一天
%w 今天在这周的天数,范围为[0, 6],6表示星期天
%W 周在当年的周数(是当年的第几周),星期一作为周的第一天
%x 日期字符串(如:04/07/10)
%X 时间字符串(如:10:43:39)
%y 2个数字表示的年份
%Y 4个数字表示的年份
%z 与utc时间的间隔 (如果是本地时间,返回空字符串)
%Z 时区名称(如果是本地时间,返回空字符串)

所以到目前,我们有几个方法来解决这个问题

improt time
>>> time.localtime().tm_yday
263

from datetime import datetime
>>> datetime.now().timetuple().tm_yday
263
>>> datetime.now().strftime('%j')
'263'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值