Python 学习入门(10)—— 时间

来源:互联网 发布:淘宝如何搜索小口栓 编辑:程序博客网 时间:2024/05/20 01:13

Python格式化日期时间的函数为datetime.datetime.strftime();由字符串转为日期型的函数为:datetime.datetime.strptime(),两个函数都涉及日期时间的格式化字符串,列举如下:

%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     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)
%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


示例:

[python] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. #!/usr/bin/python  
  2. # it-homer in 2013  
  3.   
  4. import sys  
  5. reload(sys)  
  6. sys.setdefaultencoding("utf-8")  
  7. import datetime  
  8.   
  9. def format_time():  
  10.   t = datetime.datetime.now()  
  11.   print(t)       # 2013-11-20 09:36:51.198680  
  12.   
  13.   t = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')  
  14.   print(t)       # 2013-11-20 09:39:16  
  15.   
  16.   t = datetime.datetime.now().strftime('%b-%d-%y %H:%M:%S')  
  17.   print(t)       # Nov-20-13 09:36:51  
  18.   
  19.   t = datetime.datetime.now().strftime('%b-%d-%Y %H:%M:%S')  
  20.   print(t)       # Nov-20-2013 09:36:51  
  21.   
  22.   # weekday  
  23.   t = datetime.datetime.now().strftime('%a %A %U %W %w')  
  24.   print(t)      # Wed Wednesday 46 46 3   
  25.   
  26.   # month  
  27.   t = datetime.datetime.now().strftime('%b %B')  
  28.   print(t)       # Nov November  
  29.   
  30.   # day  
  31.   t = datetime.datetime.now().strftime('%d %j')  
  32.   print(t)       # 20 324  
  33.   
  34.   # date and time for locale  
  35.   t = datetime.datetime.now().strftime('%c')  
  36.   print(t)       # Wed Nov 20 10:15:49 2013  
  37.   
  38.   # hour  
  39.   t = datetime.datetime.now().strftime('%H %l')  
  40.   print(t)       # 10 10  
  41.   
  42.   # A.M/P.M  
  43.   t = datetime.datetime.now().strftime('%p')  
  44.   print(t)       # AM  
  45.   
  46.   t = datetime.datetime.now().strftime('%x')  
  47.   print(t)       # 11/20/13  
  48.   t = datetime.datetime.now().strftime('%X')  
  49.   print(t)       # 10:23:36  
  50.   t = datetime.datetime.now().strftime('%x %X')  
  51.   print(t)       # 11/20/13 10:24:47  
  52.   
  53.   t = datetime.datetime.now().strftime('%z')  
  54.   print(t)       #  
  55.   t = datetime.datetime.now().strftime('%Z')  
  56.   print(t)         
  57.   
  58.   
  59.   # 字符串转换成datetime  
  60.   t = datetime.datetime.strptime('Nov-20-13 09:42''%b-%d-%y %H:%M')  
  61.   print(t)      # 2013-11-20 09:42:00  
  62.   
  63.   t = datetime.datetime(20131120942)  
  64.   print(t)      # 2013-11-20 09:42:00  
  65.   
  66.   # datetime转换成字符串  
  67.   t = datetime.datetime.now().strftime('%b-%d-%y %H:%M:%S')  
  68.   print(t)      # Nov-20-13 10:26:40  
  69.   
  70.   
  71.   
  72. if __name__ == "__main__":  
  73.   format_time()  


运行结果:

2013-11-20 10:29:26.456640
2013-11-20 10:29:26
Nov-20-13 10:29:26
Nov-20-2013 10:29:26
Wed Wednesday 46 46 3
Nov November
20 324
Wed Nov 20 10:29:26 2013
10 10
AM
11/20/13
10:29:26
11/20/13 10:29:26



2013-11-20 09:42:00
2013-11-20 09:42:00
Nov-20-13 10:29:26


timestamp <--> datetime

[python] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. def main():  
  2.     createtime = int(time.time())       # createtime = 1393316647  
  3.     basefname2 = datetime.datetime.fromtimestamp(createtime).strftime('%Y-%m-%d %H:%M:%S')  
  4.     print("timestamp -> datetime: %d : %s" % (createtime, basefname2))  
  5.       
  6.     nowtime = datetime.datetime.now()  
  7.     future = nowtime + datetime.timedelta(minutes = 5)  
  8.     print("datetime add: %s : %s" % (nowtime, future))  
  9.       
  10.     ts = time.mktime(future.timetuple())  
  11.     print("datetime -> timestamp: %s : %d" % (future, ts))  
运行结果:
timestamp -> datetime: 1393317675 : 2014-02-25 16:41:15
datetime add: 2014-02-25 16:41:15.900701 : 2014-02-25 16:46:15.900701
datetime -> timestamp: 2014-02-25 16:46:15.900701 : 1393317975


timestamp 转 datetime

"createtime":1389151309

basefname2 = datetime.datetime.fromtimestamp(createtime).strftime('%Y-%m-%d %H:%M:%S')

结果:

"createtime2":"2014-01-08 11:21:49"

参考: stackoverflow,

0 0
原创粉丝点击