天天看点

python日期操作

python日期操作用到库time, datetime

格式化字符串含义:

%a Abbreviated weekday name 本地化星期缩略格式
%A Full weekday name 本地化星期完整格式
%b Abbreviated month name 本地化月份缩略格式
%B Full month name 本地化月份完整格式
%c Date and time representation appropriate for locale 本地化日期与时间表示
%d Day of month as decimal number (01 - 31) 月份内日期索引
%H Hour in 24-hour format (00 - 23) 24小时索引
%I Hour in 12-hour format (01 - 12) 12小时索引
%j Day of year as decimal number (001 - 366) 年内日期索引
%m Month as decimal number (01 - 12) 月份索引
%M Minute as decimal number (00 - 59) 分钟索引
%p Current locale's A.M./P.M. indicator for 12-hour clock 本地化上午/下午指示符
%S Second as decimal number (00 - 59) 秒索引
%U Week of year as decimal number, with Sunday as first day of week (00 - 51) 年内星期索引, 以周日为一周开始
%w Weekday as decimal number (0 - 6; Sunday is 0) 周内星期索引,周日为0
%W Week of year as decimal number, with Monday as first day of week (00 - 51) 年内星期索引, 以周一为一周开始
%x Date representation for current locale 本地化日期表示
%X Time representation for current locale 本地化时间表示
%y Year without century, as decimal number (00 - 99) 世纪内年份索引, 即相当于两位年份表示
%Y Year with century, as decimal number 带世纪值年份索引
%z, %Z Time-zone name or abbreviation; no characters if time zone is unknown 时区名称或缩写, 未知时为空
%% Percent sign 百分号转义           

示例代码1(python 3):

# coding=utf-8

import time, datetime

# strftime(string)函数用于返回格式化日期字符串
# 格式化当前日期
now = datetime.datetime.now().strftime('%b-%d-%y %H:%M:%S')
print(now)

# strptime(string, string)函数用于返回由特定格式解析得到的日期对象
nowObj = datetime.datetime.strptime('15-Sep-21 16:34', '%y-%b-%d %H:%M')
print(nowObj)
print(nowObj.strftime('%b-%d-%Y %H:%M'))           

输出结果:

Dec-11-15 11:33:23
2015-09-21 16:34:00
Sep-21-2015 16:34           

示例代码2

import time, datetime

startDate = datetime.datetime.strptime('20150916', '%Y%m%d')
endDate = datetime.datetime.strptime('20150921', '%Y%m%d')
oneday=datetime.timedelta(days=1)
while startDate != endDate:
    print(startDate.strftime('%Y%m%d'))
    startDate += oneday           
20150917
20150918
20150919
20150920