zoukankan      html  css  js  c++  java
  • python 时间及日期函数

    本人最近新学python ,用到关于时间和日期的函数,经过一番研究,从网上查找资料,经过测试,总结了一下相关的方法.

    import time
    import datetime

    '''时间转化为时间戳: 2016-11-16 10:53:12 to 1479264792 '''
    def TimeToTimeSpan(timeInfo):
      timeArray = time.strptime(timeInfo, "%Y-%m-%d %H:%M:%S")
      timeSpan = int(time.mktime(timeArray))
      return timeSpan

    '''把时间戳转化为时间: 1479264792 to 2016-11-16 10:53:12'''
    def TimeStampToTime(timestamp):
      timeStruct = time.localtime(timestamp)
      return time.strftime('%Y-%m-%d %H:%M:%S',timeStruct)

    '''把时间戳转化为时间: 1479264792 to 2016-11-16 10:53:12'''
    def TimeStampToTime1(timestamp):
      temp = datetime.datetime.fromtimestamp(timestamp)
      return temp.strftime("%Y-%m-%d %H:%M:%S")

    '''获取当前时间 :2016-06-16 13:37:10'''
    def GetCurrentTime():
      currtTime = str(datetime.datetime.now())
      return currtTime[0:19]

    '''获取当前时间 :2016-06-16 13:37:10'''
    def GetCurrentTime1():
      return time.strftime('%Y-%m-%d %H:%M:%S')

    '''获取100天前的时间'''
    def Get100Time():
      currtTime = str(datetime.datetime.now()-datetime.timedelta(days = 100))
      return currtTime[0:19]

    '''获取当前日期:2016-06-16'''
    def GetCurrentDate():
      currtTime = str(datetime.datetime.now())
      return currtTime[0:4]

    '''获取当前日期:2016-06-16'''
    def GetCurrentDate1():
      return time.strftime('%Y-%m-%d')

    '''获取年'''
    def GetYear():
      return datetime.datetime.now().year

    '''获取月'''
    def GetMonth():
      return datetime.datetime.now().month

    '''获取 号'''
    def GetDy():
      return datetime.datetime.now().day


    '''获取当天是星期几'''
    def GetWeekDay():
      week_day_dict = {
        0 : '星期一',
        1 : '星期二',
        2 : '星期三',
        3 : '星期四',
        4 : '星期五',
        5 : '星期六',
        6 : '星期天',}
      day = datetime.datetime.now().weekday()
      return week_day_dict[day]

    获取当前时间戳:

    int(time.time()) 

      把字符串格式的日期转为datetime格式

      strDate = '2017-06-05'

      date_time = datetime.datetime.strptime(strDate ,'%Y-%m-%d')

      print date_time

      把当前本地时间转为UTC时间

         utcTime = datetime.datetime.now()-datetime.timedelta(hours=8)

      

      往mongodb数据库插入日期

      MongoDB存储时间类型数据时,都是先转换为UTC时间,然后存储到数据库中。

      由于UTC时间与本地时间相差8个小时 所以把当地时间转为UTC时间

       utcTime = datetime.datetime.now()-datetime.timedelta(hours=8)

       self.db.test.insert({'date':utcTime })

      把mongodb中日期转为python 日期

      

      

      结果:

      

      下面是time.strftime的参数:
      strftime(format[, tuple]) -> string
      将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出
      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 当前时区的名称
      %% %号本身 

      获取昨天日期

      

      def get_yesterday(self):
            date = datetime.datetime.now() + datetime.timedelta(days=-1)
            date = date.strftime('%Y-%m-%d')
            return date
  • 相关阅读:
    请设计一个一百亿的计算器
    ==和equals方法的区别是什么?hashCode方法的作用?
    接口和抽象类相关面试题
    java基础面试题
    有关"内部类"的三道面试题
    软件编程21法则
    内部类的作用
    面向对象的相关面试题
    String类型的面试题
    面朝大海,春暧花开
  • 原文地址:https://www.cnblogs.com/shaosks/p/5599900.html
Copyright © 2011-2022 走看看