`
yushine
  • 浏览: 200511 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

python的time和date处理

 
阅读更多

内置模块time包含很多与时间相关函数。我们可通过它获得当前的时间和格式化时间输出。

time(),以浮点形式返回自Linux新世纪以来经过的秒数。在linux中,00:00:00 UTC, January 1, 1970是新**49**的开始。


strftime可以用来获得当前时间,可以将时间格式化为字符串等等,还挺方便的。但是需要注意的是获得的时间是服务器的时间,注意时区问题,比如gae撒谎那个的时间就是格林尼治时间的0时区,需要自己转换。

strftime()函数将时间格式化
我们可以使用strftime()函数将时间格式化为我们想要的格式。它的原型如下:

size_t strftime(
char *strDest,
size_t maxsize,
const char *format,
const struct tm *timeptr
);

我们可以根据format指向字符串中格式命令把timeptr中保存的时间信息放在strDest指向的字符串中,最多向strDest中存放maxsize个字符。该函数返回向strDest指向的字符串中放置的字符数。

strftime使时间格式化。python的strftime格式是C库支持的时间格式的真子集。

  %a 星期几的简写 Weekday name, abbr.
  %A 星期几的全称 Weekday name, full
  %b 月分的简写 Month name, abbr.
  %B 月份的全称 Month name, full
  %c 标准的日期的时间串 Complete date and time representation
  %d 十进制表示的每月的第几天 Day of the month
  %H 24小时制的小时 Hour (24-hour clock)
  %I 12小时制的小时 Hour (12-hour clock)
  %j 十进制表示的每年的第几天 Day of the year
  %m 十进制表示的月份 Month number
  %M 十时制表示的分钟数 Minute number
  %S 十进制的秒数 Second number
  %U 第年的第几周,把星期日做为第一天(值从0到53)Week number (Sunday first weekday)
  %w 十进制表示的星期几(值从0到6,星期天为0)weekday number
  %W 每年的第几周,把星期一做为第一天(值从0到53) Week number (Monday first weekday)
  %x 标准的日期串 Complete date representation (e.g. 13/01/08)
  %X 标准的时间串 Complete time representation (e.g. 17:02:10)
  %y 不带世纪的十进制年份(值从0到99)Year number within century
  %Y 带世纪部分的十制年份 Year number
  %z,%Z 时区名称,如果不能得到时区名称则返回空字符。Name of time zone
  %% 百分号

1. # handling date/time data
   2. # Python23 tested vegaseat 3/6/2005
   3.
   4. import time
   5.
   6. print "List the functions within module time:"
   7. for funk in dir(time):
   8. print funk
   9.
  10. print time.time(), "seconds since 1/1/1970 00:00:00"
  11. print time.time()/(60*60*24), "days since 1/1/1970"
  12.
  13. # time.clock() gives wallclock seconds, accuracy better than 1 ms
  14. # time.clock() is for windows, time.time() is more portable
  15. print "Using time.clock() = ", time.clock(), "seconds since first call to clock()"
  16. print "\nTiming a 1 million loop 'for loop' ..."
  17. start = time.clock()
  18. for x in range(1000000):
  19. y = x # do something
  20. end = time.clock()
  21. print "Time elapsed = ", end - start, "seconds"
  22.
  23. # create a tuple of local time data
  24. timeHere = time.localtime()
  25. print "\nA tuple of local date/time data using time.localtime():"
  26. print "(year,month,day,hour,min,sec,weekday(Monday=0),yearday,dls-flag)"
  27. print timeHere
  28.
  29. # extract a more readable date/time from the tuple
  30. # eg. Sat Mar 05 22:51:55 2005
  31. print "\nUsing time.asctime(time.localtime()):", time.asctime(time.localtime())
  32. # the same results
  33. print "\nUsing time.ctime(time.time()):", time.ctime(time.time())
  34. print "\nOr using time.ctime():", time.ctime()
  35.
  36. print "\nUsing strftime():"
  37. print "Day and Date:", time.strftime("%a %m/%d/%y", time.localtime())
  38. print "Day, Date :", time.strftime("%A, %B %d, %Y", time.localtime())
  39. print "Time (12hr) :", time.strftime("%I:%M:%S %p", time.localtime())
  40. print "Time (24hr) :", time.strftime("%H:%M:%S", time.localtime())
  41. print "DayMonthYear:",time.strftime("%d%b%Y", time.localtime())
  42.
  43. print
  44.
  45. print "Start a line with this date-time stamp and it will sort:",\
  46. time.strftime("%Y/%m/%d %H:%M:%S", time.localtime())
  47.
  48. print
  49.
  50. def getDayOfWeek(dateString):
  51. # day of week (Monday = 0) of a given month/day/year
  52. t1 = time.strptime(dateString,"%m/%d/%Y")
  53. # year in time_struct t1 can not go below 1970 (start of epoch)!
  54. t2 = time.mktime(t1)
  55. return(time.localtime(t2)[6])
  56.
  57. Weekday = ['Monday', 'Tuesday', 'Wednesday', 'Thursday',
  58. 'Friday', 'Saturday', 'Sunday']
  59.
  60. # sorry about the limitations, stay above 01/01/1970
  61. # more exactly 01/01/1970 at 0 UT (midnight Greenwich, England)
  62. print "11/12/1970 was a", Weekday[getDayOfWeek("11/12/1970")]
  63.
  64. print
  65.
  66. print "Calculate difference between two times (12 hour format) of a day:"
  67. time1 = raw_input("Enter first time (format 11:25:00AM or 03:15:30PM): ")
  68. # pick some plausible date
  69. timeString1 = "03/06/05 " + time1
  70. # create a time tuple from this time string format eg. 03/06/05 11:22:00AM
  71. timeTuple1 = time.strptime(timeString1, "%m/%d/%y %I:%M:%S%p")
  72.
  73. #print timeTuple1 # test eg. (2005, 3, 6, 11, 22, 0, 5, 91, -1)
  74.
  75. time2 = raw_input("Enter second time (format 11:25:00AM or 03:15:30PM): ")
  76. # use same date to stay in same day
  77. timeString2 = "03/06/05 " + time2
  78. timeTuple2 = time.strptime(timeString2, "%m/%d/%y %I:%M:%S%p")
  79.
  80. # mktime() gives seconds since epoch 1/1/1970 00:00:00
  81. time_difference = time.mktime(timeTuple2) - time.mktime(timeTuple1)
  82. #print type(time_difference) # test <type 'float'>
  83. print "Time difference = %d seconds" % int(time_difference)
  84. print "Time difference = %0.1f minutes" % (time_difference/60.0)
  85. print "Time difference = %0.2f hours" % (time_difference/(60.0*60))
  86.
  87. print
  88.
  89. print "Wait one and a half seconds!"
  90. time.sleep(1.5)
  91. print "The end!"
 

 

分享到:
评论

相关推荐

    Python-htmldate使用常见的结构模式和基于文本的启发式方法查找网页的创建日期

    6. **返回结果**:一旦找到可能的日期,`htmldate`会返回一个`date`对象,这是Python内置的`datetime`模块的一部分,方便进一步的日期处理和计算。 7. **错误处理**:在处理大量网页时,可能会遇到无法解析日期的...

    Python-Python轻松处理日期时间

    首先,Python的`datetime`模块是最常用的时间处理模块,它包含了`date`、`time`、`datetime`、`timedelta`等类,可以方便地进行日期和时间的创建、格式化、比较和计算。 1. `date`类:表示一个日期,例如`date(2022...

    drawtime_python_Time_

    在Python编程语言中,`Time`模块是处理时间相关操作的核心部分。`drawtime_python_Time_`这个项目可能是一个小型程序,用于获取和显示计算机的当前时间。在Python中,我们可以使用内置的`time`模块来实现这个功能。...

    python-isodate

    "python-isodate" 是一个Python库,专门用于处理ISO 8601日期和时间标准。这个库提供了方便的方法来解析、格式化以及操作符合ISO 8601规范的日期和时间字符串。ISO 8601是一种国际标准化的日期和时间表示方式,广泛...

    Python日期和时间处理:深入探索`datetime`模块

    在Python编程中,处理日期和时间是一项常见且重要的任务。Python的datetime模块提供了丰富的功能,用于日期和时间的表示、操作以及格式化。本文将详细介绍datetime模块的使用方法,包括日期和时间的创建、运算、格式...

    Python中常用的Python time模块常用函数

    Python中的time模块是处理时间操作的核心模块,提供了丰富的函数来帮助开发者进行时间相关的计算和格式化。以下将详细解释在Python中常用的time模块函数: 1. **time.time()** 函数: - 定义:返回自1970年1月1日...

    Python获取昨天、今天、明天开始、结束时间戳的方法

    datetime模块是Python内置的一个用来进行日期和时间运算的模块。它提供了很多强大的功能,可以用来处理日期和时间。我们通过调用today()函数来得到一个表示今天的datetime.date对象。 接着,为了获取昨天和明天的...

    python基础——time模块和datetime模块.pdf

    Python 时间处理模块之 time 模块和 datetime 模块 在 Python 中,time 模块和 datetime 模块是两个常用的时间处理模块。它们提供了丰富的功能来处理时间和日期,包括获取当前时间、格式化时间、时间计算等。 一、...

    Python-人性化的格式日期字符串的R包

    在处理日期和时间时,Python提供了多种库,如内置的datetime模块以及第三方的dateutil和Arrow库。然而,当我们提到“Python-人性化的格式日期字符串的R包”,这里可能指的是一个用于Python的R包移植,它为Python...

    Python之日期与时间处理模块(date和datetime)

    Python中提供了多个用于对日期和时间进行操作的内置模块:time模块、datetime模块和calendar模块。其中time模块是通过调用C库实现的,所以有些方法在某些平台上可能无法调用,但是其提供的大部分接口与C标准库time.h...

    Python日期时间Time模块实例详解

    Python 中处理日期和时间的主要模块有两个:`time` 和 `calendar`。本篇文章将重点介绍 `time` 模块的使用方法,包括各种与时间相关的常见操作及技巧。通过具体的代码示例,帮助读者更好地理解和掌握 `time` 模块的...

    Python的datetime模块是一个强大的日期和时间处理库,包含date/time/datetime/timedelta类

    Python的datetime模块是一个强大的日期和时间处理库,本文包含datetime.date、datetime.time、datetime.datetime、datetime.timedelta的功能函数详细介绍,包含了日期/时间的处理和计算和比较的功能,并且每个函数都...

    python 时间比较,很全面

    首先,Python提供了两个主要的库来处理时间:内置的`time`模块和`datetime`模块。`time`模块主要用于系统时间的获取和转换,而`datetime`模块则提供了更强大的日期和时间处理功能。 1. **time模块**: - `time()`...

    Python之time模块的时间戳,时间字符串格式化与转换方法(13位时间戳)

    Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块。 关于时间戳的几个概念 时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量。 时间元组(struct_time),包含9个元素。 time....

    python获取指定日期范围内的每一天,每个月,每季度的方法

    在Python中获取指定日期范围内的每一天、每个月和每季度的方法,涉及到使用Python标准库中的datetime、...此外,通过实际编写和运行这些函数,可以帮助我们更好地理解和掌握Python在时间日期处理方面的强大功能。

    Python库 | time_decode-3.1.1.tar.gz

    time_decode库是Python中专门用于处理时间编码和解码的一个工具,它提供了丰富的函数和方法,使得时间数据的转换变得更加便捷。在3.1.1版本中,开发者可能已经对其进行了优化和增强,以提高性能和兼容性,使其能够...

    python的time模块和datetime模块实例解析

    Python中的time模块和datetime模坓是处理时间与日期的核心工具,它们提供了丰富的函数和类来帮助开发者进行各种时间操作。下面将详细讲解这两个模块的主要功能及实例。 1. **将当前时间转成字符串** 使用`datetime...

    Python 对于日期时间的处理总共有三个模块:datetime 模块、time 模块、Calendar 模块

    Python 日期时间处理模块详解 Python 中处理日期时间的模块总共有三个:datetime 模块、time...datetime 模块的 date 类提供了许多实用的函数和方法来处理日期相关的操作,帮助开发者更方便地处理日期时间相关的任务。

    python--time模块和datetime模块.docx

    Python提供了两个非常实用的模块来帮助我们处理时间和日期:`time`模块和`datetime`模块。本文将详细介绍这两个模块的功能及其用法。 #### `time`模块 `time`模块主要提供了处理时间戳和结构化时间的方法,同时也...

    Python3.5内置模块之time与datetime模块用法实例分析

    - **`datetime.combine(date, time)`**:将date和time对象组合成datetime对象。 - **`datetime.strptime(date_string, format)`**:将日期时间字符串解析为datetime对象。 - **`datetime.strftime(datetime, format)...

Global site tag (gtag.js) - Google Analytics