python时间处理之datetime

python时间处理之datetime

标签: pythondateimportstringc

2012-09-12 23:21 20910人阅读 评论(0) 收藏 举报

 分类:

Python系列(12) 

版权声明:本文为博主原创文章,未经博主允许不得转载。

目录(?)[+]

运行环境:Python3.4

[python] view plain copy

  1. # -*- coding: utf-8 -*-
  2. #datetime类
  3. #datetime是date与time的结合体,包括date与time的所有信息。
  4. #它的构造函数如下:
  5. #datetime. datetime (year, month, day[ , hour[ , minute[ , second[ , microsecond[ , tzinfo] ] ] ] ] )
  6. #各参数的含义与date、time的构造函数中的一样,要注意参数值的范围。
  7. # 1. datetime类定义的类属性与方法:
  8. #datetime.min、datetime.max:datetime所能表示的最小值与最大值;
  9. #print: datetime.max: 9999-12-31 23:59:59.999999
  10. #print: datetime.min: 0001-01-01 00:00:00
  11. from  datetime  import  *
  12. import time
  13. print   (‘datetime.max:‘ +str(datetime.max ))
  14. print   (‘datetime.min:‘ +str(datetime.min))
  15. #datetime.resolution:datetime最小单位;
  16. #print: datetime.resolution: 0:00:00.000001
  17. print   (‘datetime.resolution:‘ + str(datetime.resolution ))
  18. #datetime.today():返回一个表示当前本地时间的datetime对象;
  19. #print: today(): 2012-09-12 19:37:50.721000
  20. print   (‘today():‘ +str(datetime.today() ))
  21. #datetime.now([tz]):返回一个表示当前本地时间的datetime对象,如果提供了参数tz,则获取tz参数所指时区的本地时间;
  22. #print: now(): 2012-09-12 19:37:50.738000
  23. print   (‘now():‘+str( datetime.now() ))
  24. #datetime.utcnow():返回一个当前utc时间的datetime对象;
  25. #print: 2012-09-12 11:37:50.739000
  26. print   (‘utcnow():‘ +str(datetime.utcnow() ))
  27. #datetime.fromtimestamp(timestamp[, tz]):根据时间戮创建一个datetime对象,参数tz指定时区信息;
  28. #print: fromtimestamp(tmstmp): 2012-09-12 19:37:50.741000
  29. print   (‘fromtimestamp(tmstmp):‘ +str(datetime.fromtimestamp(time.time()) ))
  30. #datetime.utcfromtimestamp(timestamp):根据时间戮创建一个datetime对象;
  31. #print: utcfromtimestamp(tmstmp): 2012-09-12 11:37:50.742000
  32. print   (‘utcfromtimestamp(tmstmp):‘ +str(datetime.utcfromtimestamp(time.time())) )
  33. #datetime.combine(date, time):根据date和time,创建一个datetime对象;
  34. #print: datetime.combine(date,time):  2012-09-12 19:46:05
  35. d = date(2012,9,12)
  36. from  datetime  import  *
  37. t = time(19,46,5)
  38. print (‘datetime.combine(date,time): ‘+str(datetime.combine(d,t)))
  39. #datetime.strptime(date_string, format):将格式字符串转换为datetime对象;
  40. #print: 2007-03-04 21:08:12
  41. print (datetime.strptime("2007-03-04 21:08:12", "%Y-%m-%d %H:%M:%S"))
  42. #2. datetime类提供的实例方法与属性
  43. dt = datetime.strptime("2012-09-12 21:08:12", "%Y-%m-%d %H:%M:%S")
  44. #print: 2012 9 12 21 8 12 0 None
  45. print (dt.year)
  46. print(dt.month)
  47. print(dt.day)
  48. print(dt.hour)
  49. print(dt.minute)
  50. print(dt.second)
  51. print(dt.microsecond)
  52. print(dt.tzinfo)
  53. print (dt.date())
  54. print (dt.time())
  55. print (dt.replace(year = 2013))
  56. print (dt.timetuple())
  57. print (dt.utctimetuple())
  58. print (dt.toordinal())
  59. print (dt.weekday())
  60. print (dt.isocalendar())
  61. #print dt.isoformat([sep])
  62. #datetime. ctime ():返回一个日期时间的C格式字符串,等效于time.ctime(time.mktime(dt.timetuple()));
  63. #3. 格式字符串
  64. # datetime. strftime (format)
  65. # %a 星期的简写。如 星期三为Web
  66. # %A 星期的全写。如 星期三为Wednesday
  67. # %b 月份的简写。如4月份为Apr
  68. # %B月份的全写。如4月份为April
  69. # %c:  日期时间的字符串表示。(如: 04/07/10 10:43:39)
  70. # %d:  日在这个月中的天数(是这个月的第几天)
  71. # %f:  微秒(范围[0,999999])
  72. # %H:  小时(24小时制,[0, 23])
  73. # %I:  小时(12小时制,[0, 11])
  74. # %j:  日在年中的天数 [001,366](是当年的第几天)
  75. # %m:  月份([01,12])
  76. # %M:  分钟([00,59])
  77. # %p:  AM或者PM
  78. # %S:  秒(范围为[00,61],为什么不是[00, 59],参考python手册~_~)
  79. # %U:  周在当年的周数当年的第几周),星期天作为周的第一天
  80. # %w:  今天在这周的天数,范围为[0, 6],6表示星期天
  81. # %W:  周在当年的周数(是当年的第几周),星期一作为周的第一天
  82. # %x:  日期字符串(如:04/07/10)
  83. # %X:  时间字符串(如:10:43:39)
  84. # %y:  2个数字表示的年份
  85. # %Y:  4个数字表示的年份
  86. # %z:  与utc时间的间隔 (如果是本地时间,返回空字符串)
  87. # %Z:  时区名称(如果是本地时间,返回空字符串)
  88. # %%:  %% => %
  89. dt = datetime.now()
  90. #print: (%Y-%m-%d %H:%M:%S %f):  2012-09-12 23:04:27 145000
  91. print (‘(%Y-%m-%d %H:%M:%S %f): ‘+ str(dt.strftime(‘%Y-%m-%d %H:%M:%S %f‘)))
  92. #print: (%Y-%m-%d %H:%M:%S %p):  12-09-12 11:04:27 PM
  93. print (‘(%Y-%m-%d %H:%M:%S %p): ‘+str(dt.strftime(‘%y-%m-%d %I:%M:%S %p‘)))
  94. #print: %a: Wed
  95. print (‘%%a: %s ‘ % dt.strftime(‘%a‘))
  96. #print: %A: Wednesday
  97. print (‘%%A: %s ‘ % dt.strftime(‘%A‘))
  98. #print: %b: Sep
  99. print (‘%%b: %s ‘ % dt.strftime(‘%b‘))
  100. #print: %B: September
  101. print (‘%%B: %s ‘ % dt.strftime(‘%B‘))
  102. #print: 日期时间%c: 09/12/12 23:04:27
  103. print (‘日期时间%%c: %s ‘ % dt.strftime(‘%c‘))
  104. #print: 日期%x:09/12/12
  105. print (‘日期%%x:%s ‘ % dt.strftime(‘%x‘))
  106. #print: 时间%X:23:04:27
  107. print (‘时间%%X:%s ‘ % dt.strftime(‘%X‘))
  108. #print: 今天是这周的第3天
  109. print (‘今天是这周的第%s天 ‘ % dt.strftime(‘%w‘))
  110. #print: 今天是今年的第256天
  111. print (‘今天是今年的第%s天 ‘ % dt.strftime(‘%j‘))
  112. #print: 今周是今年的第37周
  113. print (‘今周是今年的第%s周 ‘ % dt.strftime(‘%U‘))

运行结果

[python] view plain copy

  1. atetime.max:9999-12-31 23:59:59.999999
  2. datetime.min:0001-01-01 00:00:00
  3. datetime.resolution:0:00:00.000001
  4. today():2014-05-04 15:58:18.141186
  5. now():2014-05-04 15:58:18.193146
  6. utcnow():2014-05-04 07:58:18.243958
  7. fromtimestamp(tmstmp):2014-05-04 15:58:18.291558
  8. utcfromtimestamp(tmstmp):2014-05-04 07:58:18.342550
  9. datetime.combine(date,time): 2012-09-12 19:46:05
  10. 2007-03-04 21:08:12
  11. 2012
  12. 9
  13. 12
  14. 21
  15. 8
  16. 12
  17. 0
  18. None
  19. 2012-09-12
  20. 21:08:12
  21. 2013-09-12 21:08:12
  22. time.struct_time(tm_year=2012, tm_mon=9, tm_mday=12, tm_hour=21, tm_min=8, tm_sec=12, tm_wday=2, tm_yday=256, tm_isdst=-1)
  23. time.struct_time(tm_year=2012, tm_mon=9, tm_mday=12, tm_hour=21, tm_min=8, tm_sec=12, tm_wday=2, tm_yday=256, tm_isdst=0)
  24. 734758
  25. 2
  26. (2012, 37, 3)
  27. (%Y-%m-%d %H:%M:%S %f): 2014-05-04 15:58:19 326295
  28. (%Y-%m-%d %H:%M:%S %p): 14-05-04 03:58:19 PM
  29. %a: Sun
  30. %A: Sunday
  31. %b: May
  32. %B: May
  33. 日期时间%c: Sun May  4 15:58:19 2014
  34. 日期%x:05/04/14
  35. 时间%X:15:58:19
  36. 今天是这周的第0天
  37. 今天是今年的第124天
  38. 今周是今年的第18周

运行环境:Python2.x

[python] view plain copy

  1. # -*- coding: utf-8 -*-
  2. #datetime类
  3. #datetime是date与time的结合体,包括date与time的所有信息。
  4. #它的构造函数如下:
  5. #datetime. datetime (year, month, day[ , hour[ , minute[ , second[ , microsecond[ , tzinfo] ] ] ] ] )
  6. #各参数的含义与date、time的构造函数中的一样,要注意参数值的范围。
  7. # 1. datetime类定义的类属性与方法:
  8. #datetime.min、datetime.max:datetime所能表示的最小值与最大值;
  9. #print: datetime.max: 9999-12-31 23:59:59.999999
  10. #print: datetime.min: 0001-01-01 00:00:00
  11. from  datetime  import  *
  12. import time
  13. print   ‘datetime.max:‘ , datetime.max
  14. print   ‘datetime.min:‘ , datetime.min
  15. #datetime.resolution:datetime最小单位;
  16. #print: datetime.resolution: 0:00:00.000001
  17. print   ‘datetime.resolution:‘ , datetime.resolution
  18. #datetime.today():返回一个表示当前本地时间的datetime对象;
  19. #print: today(): 2012-09-12 19:37:50.721000
  20. print   ‘today():‘ , datetime.today()
  21. #datetime.now([tz]):返回一个表示当前本地时间的datetime对象,如果提供了参数tz,则获取tz参数所指时区的本地时间;
  22. #print: now(): 2012-09-12 19:37:50.738000
  23. print   ‘now():‘ , datetime.now()
  24. #datetime.utcnow():返回一个当前utc时间的datetime对象;
  25. #print: 2012-09-12 11:37:50.739000
  26. print   ‘utcnow():‘ , datetime.utcnow()
  27. #datetime.fromtimestamp(timestamp[, tz]):根据时间戮创建一个datetime对象,参数tz指定时区信息;
  28. #print: fromtimestamp(tmstmp): 2012-09-12 19:37:50.741000
  29. print   ‘fromtimestamp(tmstmp):‘ , datetime.fromtimestamp(time.time())
  30. #datetime.utcfromtimestamp(timestamp):根据时间戮创建一个datetime对象;
  31. #print: utcfromtimestamp(tmstmp): 2012-09-12 11:37:50.742000
  32. print   ‘utcfromtimestamp(tmstmp):‘ , datetime.utcfromtimestamp(time.time())
  33. #datetime.combine(date, time):根据date和time,创建一个datetime对象;
  34. #print: datetime.combine(date,time):  2012-09-12 19:46:05
  35. d = date(2012,9,12)
  36. from  datetime  import  *
  37. t = time(19,46,5)
  38. print ‘datetime.combine(date,time): ‘,datetime.combine(d,t)
  39. #datetime.strptime(date_string, format):将格式字符串转换为datetime对象;
  40. #print: 2007-03-04 21:08:12
  41. print datetime.strptime("2007-03-04 21:08:12", "%Y-%m-%d %H:%M:%S")
  42. #2. datetime类提供的实例方法与属性
  43. dt = datetime.strptime("2012-09-12 21:08:12", "%Y-%m-%d %H:%M:%S")
  44. #print: 2012 9 12 21 8 12 0 None
  45. print dt.year,dt.month,dt.day,dt.hour,dt.minute,dt.second,dt.microsecond,dt.tzinfo
  46. print dt.date()
  47. print dt.time()
  48. print dt.replace(year = 2013)
  49. print dt.timetuple()
  50. print dt.utctimetuple()
  51. print dt.toordinal()
  52. print dt.weekday()
  53. print dt.isocalendar()
  54. #print dt.isoformat([sep])
  55. #datetime. ctime ():返回一个日期时间的C格式字符串,等效于time.ctime(time.mktime(dt.timetuple()));
  56. #3. 格式字符串
  57. # datetime. strftime (format)
  58. # %a 星期的简写。如 星期三为Web
  59. # %A 星期的全写。如 星期三为Wednesday
  60. # %b 月份的简写。如4月份为Apr
  61. # %B月份的全写。如4月份为April
  62. # %c:  日期时间的字符串表示。(如: 04/07/10 10:43:39)
  63. # %d:  日在这个月中的天数(是这个月的第几天)
  64. # %f:  微秒(范围[0,999999])
  65. # %H:  小时(24小时制,[0, 23])
  66. # %I:  小时(12小时制,[0, 11])
  67. # %j:  日在年中的天数 [001,366](是当年的第几天)
  68. # %m:  月份([01,12])
  69. # %M:  分钟([00,59])
  70. # %p:  AM或者PM
  71. # %S:  秒(范围为[00,61],为什么不是[00, 59],参考python手册~_~)
  72. # %U:  周在当年的周数当年的第几周),星期天作为周的第一天
  73. # %w:  今天在这周的天数,范围为[0, 6],6表示星期天
  74. # %W:  周在当年的周数(是当年的第几周),星期一作为周的第一天
  75. # %x:  日期字符串(如:04/07/10)
  76. # %X:  时间字符串(如:10:43:39)
  77. # %y:  2个数字表示的年份
  78. # %Y:  4个数字表示的年份
  79. # %z:  与utc时间的间隔 (如果是本地时间,返回空字符串)
  80. # %Z:  时区名称(如果是本地时间,返回空字符串)
  81. # %%:  %% => %
  82. dt = datetime.now()
  83. #print: (%Y-%m-%d %H:%M:%S %f):  2012-09-12 23:04:27 145000
  84. print ‘(%Y-%m-%d %H:%M:%S %f): ‘, dt.strftime(‘%Y-%m-%d %H:%M:%S %f‘)
  85. #print: (%Y-%m-%d %H:%M:%S %p):  12-09-12 11:04:27 PM
  86. print ‘(%Y-%m-%d %H:%M:%S %p): ‘, dt.strftime(‘%y-%m-%d %I:%M:%S %p‘)
  87. #print: %a: Wed
  88. print ‘%%a: %s ‘ % dt.strftime(‘%a‘)
  89. #print: %A: Wednesday
  90. print ‘%%A: %s ‘ % dt.strftime(‘%A‘)
  91. #print: %b: Sep
  92. print ‘%%b: %s ‘ % dt.strftime(‘%b‘)
  93. #print: %B: September
  94. print ‘%%B: %s ‘ % dt.strftime(‘%B‘)
  95. #print: 日期时间%c: 09/12/12 23:04:27
  96. print ‘日期时间%%c: %s ‘ % dt.strftime(‘%c‘)
  97. #print: 日期%x:09/12/12
  98. print ‘日期%%x:%s ‘ % dt.strftime(‘%x‘)
  99. #print: 时间%X:23:04:27
  100. print ‘时间%%X:%s ‘ % dt.strftime(‘%X‘)
  101. #print: 今天是这周的第3天
  102. print ‘今天是这周的第%s天 ‘ % dt.strftime(‘%w‘)
  103. #print: 今天是今年的第256天
  104. print ‘今天是今年的第%s天 ‘ % dt.strftime(‘%j‘)
  105. #print: 今周是今年的第37周
  106. print ‘今周是今年的第%s周 ‘ % dt.strftime(‘%U‘)
0
时间: 2024-12-27 06:45:47

python时间处理之datetime的相关文章

python时间处理模块 datetime time模块 deltetime模块

1 首先介绍time模块,因为简单 python 自带模块 本人使用time模块,只使用两个函数 time函数和sleep函数 import time a.     time.time()   函数 返回unix时间  常用作两个时间差的计算 b.     time.sleep()  休眠多久,精度为子秒(subsecond) In [90]: t1 = time.time() In [91]: t1 Out[91]: 1461400225.877932 In [92]: time.sleep(

python时间处理,datetime中的strftime/strptime

python中datetime模块非常好用,提供了日期格式和字符串格式相互转化的函数strftime/strptime 1.由日期格式转化为字符串格式的函数为: datetime.datetime.strftime() 2.由字符串格式转化为日期格式的函数为: datetime.datetime.strptime() 3.两个函数都涉及日期时间的格式化字符串,列举如下: %a 星期几的简写;如 星期三为Web %A 星期几的全称;如 星期三为Wednesday %b 月份的简写; 如4月份为Ap

python 学习笔记 14 -- 常用的时间模块之datetime

书接上文,前面我们讲到<常用的时间模块之time>,这次我们学习datetime -- 日期和时间值管理模块 使用apihelper 查看datetime 模块,我们可以看到简单的几项: date       ---  日期对象,结构为date(year, month, day) time       ---  时间值对象,结构为 time([hour[, minute[, second[, microsecond[, tzinfo]]]]]).时间对象所有的参数都是可选的.tzinfo 可以

Python时间模块datetime用法

时间模块datetime是python内置模块,datetime是Python处理日期和时间的标准库. 1,导入时间模块 from datetime import datetime 2,实例 from datetime import datetime   now = datetime.now() # 获取当前datetime   print(now) 3,时间转换,时间转时间戳,时间戳转时间 datetime转换为timestamp >>> from datetime import da

Python 中的时间处理包datetime和arrow

Python 中的时间处理包datetime和arrow 在获取贝壳分的时候用到了时间处理函数,想要获取上个月时间包括年.月.日等 # 方法一: today = datetime.date.today() # 1. 获取「今天」 first = today.replace(day=1) # 2. 获取当前月的第一天 last_month = first - datetime.timedelta(days=1) # 3. 减一天,得到上个月的最后一天 print(last_month.strfti

python基础学习时间time和datetime模块

时间模块time和datetime()时间表现为三种格式 1.时间戳 2.时间元组 3.格式化字符串(2017-11-1)时间戳:通常来说时间戳表示的是从格林威治1970年1月1日00:00:00开始按秒计算的偏移量时区:世界标准时间 UTC (格林威治天文时间)中国时间为UTC+8 表示东八区DST:夏令时 import time time.time() #获取当前的时间戳time.timezone() #查看当前的本地时间和世界标准时间的差值(秒)time.daylight() #查看当地时

python小白-day6 time&datetime模块

time&datetime ?一.time模块 time模块提供各种操作时间的函数 说明:一般有两种表示时间的方式:       第一种是时间戳的方式(相对于1970.1.1 00:00:00以秒计算的偏移量),时间戳是惟一的       第二种以数组的形式表示即(struct_time),共有九个元素,分别表示,同一个时间戳的struct_time会因为时区不同而不同 1 2 3 4 5 6 7 8 9 10 11 12 import time print('clock():',time.cl

python time模块和datetime模块详解

一.time模块 time模块中时间表现的格式主要有三种: a.timestamp时间戳,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量 b.struct_time时间元组,共有九个元素组. c.format time 格式化时间,已格式化的结构使时间更具可读性.包括自定义格式和固定格式. 1.时间格式转换图: 2.主要time生成方法和time格式转换方法实例: #! /usr/bin/env python # -*- coding:utf-8 -*- # __auth

python中time类型,datetime类型的关系与互相转换

一.time模块 time模块提供各种操作时间的函数       一般有两种表示时间的方式:       第一种是时间戳的方式(相对于1970.1.1 00:00:00以秒计算的偏移量),时间戳是惟一的 Python代码   #当前时间的时间戳 In [9]: time.time() Out[9]: 1376102328.536908 第二种以数组的形式表示即(struct_time),共有九个元素,分别表示,同一个时间戳的struct_time会因为时区不同而不同 Python代码   In