在python中获取格式化的日期时间,就像在php中一样

Getting formatted datetime in Python like in PHP

如何以与PHP相同的方式在python中获取格式化日期时间EDOCX1?0?


1
2
3
4
>>> import time
>>> timestamp = 1284375159
>>> time.strftime("%m %d %Y",time.localtime(timestamp))
'09 13 2010'

您可以使用合适的strftime函数。下面是一个使用datetime对象的示例。

1
2
3
4
>>> from datetime import datetime
>>> today = datetime.today()
>>> today.strftime("%m %d %Y")
'09 13 2010'


日期、日期时间和时间对象都支持strftime(format)方法,以创建一个表示受显式格式字符串控制的时间的字符串。

这是一个格式代码列表,其中包含它们的指令和含义。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
    %a  Locale’s abbreviated weekday name.
    %A  Locale’s full weekday name.      
    %b  Locale’s abbreviated month name.    
    %B  Locale’s full month name.
    %c  Locale’s appropriate date and time representation.  
    %d  Day of the month as a decimal number [01,31].    
    %f  Microsecond as a decimal number [0,999999], zero-padded on the left
    %H  Hour (24-hour clock) as a decimal number [00,23].    
    %I  Hour (12-hour clock) as a decimal number [01,12].    
    %j  Day of the year as a decimal number [001,366].  
    %m  Month as a decimal number [01,12].  
    %M  Minute as a decimal number [00,59].      
    %p  Locale’s equivalent of either AM or PM.
    %S  Second as a decimal number [00,61].
    %U  Week number of the year (Sunday as the first day of the week)
    %w  Weekday as a decimal number [0(Sunday),6].  
    %W  Week number of the year (Monday as the first day of the week)
    %x  Locale’s appropriate date representation.    
    %X  Locale’s appropriate time representation.    
    %y  Year without century as a decimal number [00,99].    
    %Y  Year with century as a decimal number.  
    %z  UTC offset in the form +HHMM or -HHMM.
    %Z  Time zone name (empty string if the object is naive).    
    %%  A literal '%' character.

这就是我们可以用Python中的日期时间和时间模块做的事情。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    import time
    import datetime

    print"Time in seconds since the epoch: %s" %time.time()
    print"Current date and time:" , datetime.datetime.now()
    print"Or like this:" ,datetime.datetime.now().strftime("%y-%m-%d-%H-%M")


    print"Current year:", datetime.date.today().strftime("%Y")
    print"Month of year:", datetime.date.today().strftime("%B")
    print"Week number of the year:", datetime.date.today().strftime("%W")
    print"Weekday of the week:", datetime.date.today().strftime("%w")
    print"Day of year:", datetime.date.today().strftime("%j")
    print"Day of the month :", datetime.date.today().strftime("%d")
    print"Day of week:", datetime.date.today().strftime("%A")

它将打印出如下内容:

1
2
3
4
5
6
7
8
9
10
    Time in seconds since the epoch:    1349271346.46
    Current date and time:              2012-10-03 15:35:46.461491
    Or like this:                       12-10-03-15-35
    Current year:                       2012
    Month of year:                      October
    Week number of the year:            40
    Weekday of the week:                3
    Day of year:                        277
    Day of the month :                  03
    Day of week:                        Wednesday

早在2003年,Simon Willison就编写了日期格式,这是一个小的日期格式转换类,可以在python中使用php样式的日期格式字符串:

1
2
3
4
5
6
>>> from datetime import datetime
>>> from DateFormat import DateFormat
>>> timestamp = 1354633606
>>> df = DateFormat(datetime.fromtimestamp(timestamp))
>>> df.format('M d Y')
'Dec 04 2012'

日期格式可从以下网址获得:http://simonwillison.net/2003/oct/7/dateinpython/