Skip to content

Instantly share code, notes, and snippets.

@xcaspar
Created July 21, 2015 07:42
Show Gist options
  • Save xcaspar/e664679db8486a6ee055 to your computer and use it in GitHub Desktop.
Save xcaspar/e664679db8486a6ee055 to your computer and use it in GitHub Desktop.

Python对时间日期的格式化

@(Python)[日期]
Python对时间的处理一般用到time和datetime两个模块,Python将字符串转为日期型的函数为:datetime.datetime.strptime(),对日期进行格式化的函数为datetime.datetime.strftime(); 在举例之前先熟悉一下python中时间日期格式化符号:

  • %y 两位数的年份表示(00-99)
  • %Y 四位数的年份表示(000-9999)
  • %m 月份(01-12)
  • %d 月内中的一天(0-31)
  • %H 24小时制小时数(0-23)
  • %I 12小时制小时数(01-12)
  • %M 分钟数(00=59)
  • %S 秒(00-59)
  • %a 本地简化星期名称
  • %A 本地完整星期名称
  • %b 本地简化的月份名称
  • %B 本地完整的月份名称
  • %c 本地相应的日期表示和时间表示
  • %j 年内的一天(001-366)
  • %p 本地A.M.或P.M.的等价符
  • %U 一年中的星期数(00-53)星期天为星期的开始
  • %w 星期(0-6),星期天为星期的开始
  • %W 一年中的星期数(00-53)星期一为星期的开始
  • %x 本地相应的日期表示
  • %X 本地相应的时间表示
  • %Z 当前时区的名称
  • %% %号本身

接下来举个例子:
有一时间字符串: string = “29/Jul/2013:00:00:02 +0800”
将其转化成日期类型操作:df = datetime.datetime.strptime(string, '%d/%b/%Y:%H:%M:%S +0800'),
此操作的含义是通过格式化符号匹配字符串,然后输出成日期类型。

然后可以操作此日期类型,得到相应的时间日期:

  • 获取第几周

      def getWeek(dateStr):
          return df.strftime("%U")
    
  • 获取月信息

      def getMonth(dateStr):
          return df.strftime("%Y-%m")
    
  • 获取年信息

      def getYear(dateStr):
          return df.strftime("%Y")
    
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment