Python的时间模块(二):datetime类和“昨天”问题



在Python中有关时间的有两个常用的类,一个已经在之前的文章中简单介绍过了。现在介绍另一个,datetime。


知道年月日时分秒,构造datetime对象。

由字符串转为日期型的函数为:datetime.datetime.strptime()

date='Tue, 27 Jan 2015 09:37:05 +0800'
dd=datetime.datetime.strptime(date,'%a, %d %b %Y %H:%M:%S %z')
dd.strftime('%Y-%m-%d %H:%M:%S')


已知datetime,按格式输出:

格式化日期时间的函数为datetime.datetime.strftime()


无论转换的方向是什么,都需要规格化其中的各个字符:

%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)   
%I Hour in 12-hour format (01 - 12)   
%j Day of year as decimal number (001 - 366)   
%m Month as decimal number (01 - 12)   (注意:月份是m,而不是M。这与C#等语言是反过来的)
%M Minute as decimal number (00 - 59)   (注意:分钟是M,而不是m。这与C#等语言是反过来的)
%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)   
%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 (%的在这里的转义字符)


有关datetime的一个重要的应用,是计算“昨天”问题:

代码如下:

import time
import datetime

def getYesterday(date):
    yes_time = date + datetime.timedelta(days=-1)
    return yes_time


你可能感兴趣的:(Python的时间模块(二):datetime类和“昨天”问题)