1、时间戳    1970年1月1日之后的秒,直接贴代码

2019-10-05 01:06 来源:未知

    print getWeekOfDate("2013-10-01")

def dateAddInDays(date1, addcount):
    '''
            日期加上或者减去一个数字,返回一个新的日期
            参数date1:要计算的日期
            参数addcount:要增加或者减去的数字,可以为1、2、3、-1、-2、-3,负数表示相减
    '''
    try:
        addtime=datetime.timedelta(days=int(addcount))
        d1Elements=getDateElements(date1)
        d1 = datetime.datetime(d1Elements.tm_year, d1Elements.tm_mon, d1Elements.tm_mday)
        datenew=d1+addtime
        return datenew.strftime(format_date)
    except Exception as e:
        print e
        return None

day6 time和datetime模块,day6datetime

    time模块

    time模块提供各种操作时间的函数

    #1、时间戳    1970年1月1日之后的秒
  #2、元组 包含了:年、日、星期等... time.struct_time
  #3、格式化的字符串    2014-11-11 11:11

    (1)asctime(p_tuple=None)

    def asctime(p_tuple=None): # real signature unknown; restored from __doc__
    """
    asctime([tuple]) -> string

    Convert a time tuple to a string, e.g. 'Sat Jun 06 16:26:11 1998'.
    When the time tuple is not present, current time as returned by localtime()
    is used.
    """
    return ""
    asctime()返回当前系统的时间,如下:

    >>> time.asctime()
  'Sun May 28 13:32:04 2017'

    (2)clock()

    def clock(): # real signature unknown; restored from __doc__
    """
    clock() -> floating point number

    Return the CPU time or real time since the start of the process or since
    the first call to clock(). This has as much precision as the system
    records.
    """
    return 0.0

    clock()返回CPU系统当前的时间,或者真实时间,从开始到第一次使用clock()。

1、时间戳    1970年1月1日之后的秒,直接贴代码(文件名DateUtil.py)。    >>> time.clock()
  0.44741
    (3)clock_getres(clk_id)
    def clock_getres(clk_id): # real signature unknown; restored from __doc__
    """
    clock_getres(clk_id) -> floating point number

    Return the resolution (precision) of the specified clock clk_id.
    """
    return 0.0

    (4)clock_gettime(clk_id)

    def clock_gettime(clk_id): # real signature unknown; restored from __doc__
    """
    clock_gettime(clk_id) -> floating point number

    Return the time of the specified clock clk_id.
    """
    return 0.0

    (5)clock_settime(clk_id,time)

    def clock_settime(clk_id, time): # real signature unknown; restored from __doc__
    """
    clock_settime(clk_id, time)

    Set the time of the specified clock clk_id.
    """
    pass

    (6)ctime(seconds=None)

    def ctime(seconds=None): # known case of time.ctime
    """
    ctime(seconds) -> string

    Convert a time in seconds since the Epoch to a string in local time.
    This is equivalent to asctime(localtime(seconds)). When the time tuple is
    not present, current time as returned by localtime() is used.
    """
    return ""

    ctime()返回系统当前的时间:

    >>> time.ctime()
  'Sun May 28 13:55:39 2017'
    (7)get_clock_info(name)

    def get_clock_info(name): # real signature unknown; restored from __doc__
    """
    get_clock_info(name: str) -> dict

    Get information of the specified clock.
    """
    return {}

    (8)gmtime(seconds=None)

    def gmtime(seconds=None): # real signature unknown; restored from __doc__
    """
    gmtime([seconds]) -> (tm_year, tm_mon, tm_mday, tm_hour, tm_min,
    tm_sec, tm_wday, tm_yday, tm_isdst)

    Convert seconds since the Epoch to a time tuple expressing UTC (a.k.a.
    GMT). When 'seconds' is not passed in, convert the current time instead.

    If the platform supports the tm_gmtoff and tm_zone, they are available as
    attributes only.
    """
    pass

    gmtime(seconds=None)返回对应的时间格式,time.struct_time。

    >>> time.gmtime()
  time.struct_time(tm_year=2017, tm_mon=5, tm_mday=28, tm_hour=6, tm_min=1, tm_sec=28, tm_wday=6, tm_yday=148, tm_isdst=0)
    (9)localtime(seconds=None)    def localtime(seconds=None): # real signature unknown; restored from __doc__
    """
    localtime([seconds]) -> (tm_year,tm_mon,tm_mday,tm_hour,tm_min,
    tm_sec,tm_wday,tm_yday,tm_isdst)

    Convert seconds since the Epoch to a time tuple expressing local time.
    When 'seconds' is not passed in, convert the current time instead.
    """
    pass

    localtime()返回时间time.struct_time格式的日期。

    >>> time.localtime()
  time.struct_time(tm_year=2017, tm_mon=5, tm_mday=28, tm_hour=14, tm_min=3, tm_sec=58, tm_wday=6, tm_yday=148, tm_isdst=0)
    (10)mktime()

    def mktime(p_tuple): # real signature unknown; restored from __doc__
    """
    mktime(tuple) -> floating point number

    Convert a time tuple in local time to seconds since the Epoch.
    Note that mktime(gmtime(0)) will not generally return zero for most
    time zones; instead the returned value will either be equal to that
    of the timezone or altzone attributes on the time module.
    """
    return 0.0
    (11)monotonic()

    def monotonic(): # real signature unknown; restored from __doc__
    """
    monotonic() -> float

    Monotonic clock, cannot go backward.
    """
    return 0.0 

    >>> time.monotonic()
  27333.713613735
    (12)perf_counter()
    def perf_counter(): # real signature unknown; restored from __doc__
    """
    perf_counter() -> float

    Performance counter for benchmarking.
    """
    return 0.0

    >>> time.perf_counter()
  27418.099319872
    (13)process_time()

    def process_time(): # real signature unknown; restored from __doc__
    """
    process_time() -> float

    Process time for profiling: sum of the kernel and user-space CPU time.
    """
    return 0.0
     >>> time.process_time()
  0.521978947

    (14)sleep(seconds)

  def sleep(seconds): # real signature unknown; restored from __doc__
    """
    sleep(seconds)

    Delay execution for a given number of seconds. The argument may be
    a floating point number for subsecond precision.
    """
    pass
    time.sleep(seconds)是程序停止运行一段时间。休眠。例如time.sleep(10)代表程序停止等待10秒钟。

    (15)strftime(format,p_tuple=None)

    def strftime(format, p_tuple=None): # real signature unknown; restored from __doc__
    """
    strftime(format[, tuple]) -> string

    Convert a time tuple to a string according to a format specification.
    See the library reference manual for formatting codes. When the time tuple
    is not present, current time as returned by localtime() is used.

    Commonly used format codes:

    %Y Year with century as a decimal number.
    %m Month as a decimal number [01,12].
    %d Day of the month as a decimal number [01,31].
    %H Hour (24-hour clock) as a decimal number [00,23].
    %M Minute as a decimal number [00,59].
    %S Second as a decimal number [00,61].
    %z Time zone offset from UTC.
    %a Locale's abbreviated weekday name.
    %A Locale's full weekday name.
    %b Locale's abbreviated month name.
    %B Locale's full month name.
    %c Locale's appropriate date and time representation.
凯时国际ag下载,     %I Hour (12-hour clock) as a decimal number [01,12].
    %p Locale's equivalent of either AM or PM.

    Other codes may be available on your platform. See documentation for
    the C library strftime function.
    """
    return ""

    strftime(format,p_tuple)将时间进行格式转换,只能转换localtime()和gmtime()的struct_time格式时间情况;

    >>> time.strftime("%Y-%m-%d %p",time.localtime())
  '2017-05-28 PM'
  >>> time.strftime("%Y-%m-%d %I:%M:%S%p",time.localtime())
  '2017-05-28 02:23:21PM'
    日期格式的转换,只能转换struct_time的格式;

    >>> time.strftime("%a",time.localtime())    %a返回星期的简写
  'Sun'
    >>> time.strftime("%A",time.localtime())    %A返回日期的全拼
  'Sunday'

    (16)strptime(string,format)
    def strptime(string, format): # real signature unknown; restored from __doc__
    """
    strptime(string, format) -> struct_time

    Parse a string to a time tuple according to a format specification.
    See the library reference manual for formatting codes (same as
    strftime()).

    Commonly used format codes:

    %Y Year with century as a decimal number.
    %m Month as a decimal number [01,12].
    %d Day of the month as a decimal number [01,31].
    %H Hour (24-hour clock) as a decimal number [00,23].
    %M Minute as a decimal number [00,59].
    %S Second as a decimal number [00,61].
    %z Time zone offset from UTC.
    %a Locale's abbreviated weekday name.
    %A Locale's full weekday name.
    %b Locale's abbreviated month name.
    %B Locale's full month name.
    %c Locale's appropriate date and time representation.
    %I Hour (12-hour clock) as a decimal number [01,12].
    %p Locale's equivalent of either AM or PM.

    Other codes may be available on your platform. See documentation for
    the C library strftime function.
    """
    return struct_time

    strptime(string,format)将字符串的日期类型转化为struct_time类型。

    >>> time.strptime("2017-5-18","%Y-%m-%d")
  time.struct_time(tm_year=2017, tm_mon=5, tm_mday=18, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=138, tm_isdst=-1)
    (17)time()

    def time(): # real signature unknown; restored from __doc__
    """
    time() -> floating point number

    Return the current time in seconds since the Epoch.
    Fractions of a second may be present if the system clock provides them.
    """
    return 0.0

    time()返回浮点数。

    >>> time.time()
  1495953536.3603268

    (18)tzset()

    def tzset(): # real signature unknown; restored from __doc__
    """
    tzset()

    Initialize, or reinitialize, the local timezone to the value stored in
    os.environ['TZ']. The TZ environment variable should be specified in
    standard Unix timezone format as documented in the tzset man page
    (eg. 'US/Eastern', 'Europe/Amsterdam'). Unknown timezones will silently
    fall back to UTC. If the TZ environment variable is not set, the local
    timezone is set to the systems best guess of wallclock time.
    Changing the TZ environment variable without calling tzset *may* change
    the local timezone used by methods such as localtime, but this behaviour
    should not be relied on.
    """
    pass

    datetime模块   

    """

import datetime

datetime.date:表示日期的类。常用的属性有year, month, day

    datetime.time:表示时间的类。常用的属性有hour, minute, second, microsecond

    datetime.datetime:表示日期时间

    datetime.timedelta:表示时间间隔,即两个时间点之间的长度

    timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]])

    strftime("%Y-%m-%d")

    """

    (1)datetime.date:表示日期的类。常用的属性有year,month,day

    >>> datetime.date.today()
  datetime.date(2017, 5, 28)
    返回日期的格式情况,包含的属性有year(年)、month(月)、日(day)。

    (2)datetime.time:表示时间的类。常用的属性有hour,minute,second,microsecond

    >>> datetime.time(12,30,59,99)
  datetime.time(12, 30, 59, 99)

    返回日期时间的格式情况,如datetime.time()

    (3)datetime.datetime:表示日期时间

    >>> datetime.datetime(2016,5,12,7,59,59,99)
  datetime.datetime(2016, 5, 12, 7, 59, 59, 99)

    >>> datetime.datetime.now()
  datetime.datetime(2017, 5, 28, 15, 34, 1, 105235)

    >>> datetime.datetime.today()
  datetime.datetime(2017, 5, 28, 15, 35, 9, 384407)

    (4)datetime.timedelta:表示时间间隔,两个时间点之间的长度

    (5)timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]])

    (6)strftime("%Y-%m-%d")

    实例:

    >>> now_date = datetime.datetime.now() + datetime.timedelta(days=10)      (1)比现在日期多十天
  >>> now_date
  datetime.datetime(2017, 6, 7, 15, 37, 7, 936368)

    >>> str_to_date = datetime.datetime.strptime("16/11/17 16:30","%d/%m/%y %H:%M")   (2)将字符串时间格式化转化为时间
  >>> str_to_date
  datetime.datetime(2017, 11, 16, 16, 30)

    >>> new_date = datetime.datetime.now() + datetime.timedelta(hours=-10)     (3)比现在时间少10个小时
  >>> new_date
  datetime.datetime(2017, 5, 28, 20, 1, 11, 805686)

time和datetime模块,day6datetime time模块 time模块提供各种操作时间的函数 #1、时间戳 1970年1月1日之后的秒 #2、元组 包含了:年、日、星期...

def getDateToNumber(date1):
    '''
            将日期字符串中的减号冒号去掉:
            输入:2013-04-05,返回20130405
            输入:2013-04-05 22:11:23,返回20130405221123
    '''
    return date1.replace("-","").replace(":","").replace("","")

def getDateToNumber(date1):
    '''
            将日期字符串中的减号冒号去掉:
            输入:2013-04-05,返回20130405
            输入:2013-04-05 22:11:23,返回20130405221123
    '''
    return date1.replace("-","").replace(":","").replace("","")

def getCurrentDate():
    '''
            获取当前日期:2013-09-10这样的日期字符串
    '''
    return time.strftime(format_date, time.localtime(time.time()))

    try:
        datetime.datetime.strptime(datestr, format_datetime)
        return 2
    except:
        pass

def dateDiffInSeconds(date1, date2):
    '''
            获取两个日期相差的秒数
    '''
    minusObj = minusTwoDate(date1, date2)
    try:
        return minusObj.days * 24 * 3600 + minusObj.seconds
    except:
        return None

    return 0

def getCurrentHour():
    '''
            获取当前时间的小时数,比如如果当前是下午16时,则返回16
    '''
    currentDateTime=getCurrentDateTime()
    return currentDateTime[-8:-6]

def getCurrentDateTime():
    '''
            获取当前时间:2013-09-10 11:22:11这样的时间年月日时分秒字符串
    '''
    return time.strftime(format_datetime, time.localtime(time.time()))

处理日志数据时,经常要对日期进行进行计算,比如日期加上天数、日期相差天数、日期对应的周等计算,本文收集了几个常用的python日期功能函数,一直更新中。

def getWeekOfDate(pdate):
    '''
            获取日期对应的周,输入一个日期,返回一个周数字,范围是0~6、其中0代表周日
    '''
    pdateElements=getDateElements(pdate)

    try:
        datetime.datetime.strptime(datestr, format_datetime)
        return 2
    except:
        pass

if __name__=="__main__":
    '''
            一些测试代码
    '''
    print judgeDateFormat("2013-04-01")
    print judgeDateFormat("2013-04-01 21:22:33")
    print judgeDateFormat("2013-04-31 21:22:33")
    print judgeDateFormat("2013-xx")
    print "--"
    print datetime.datetime.strptime("2013-04-01", "%Y-%m-%d")
    print 'elements'
    print getDateElements("2013-04-01 21:22:33")
    print 'minus'
    print minusTwoDate("2013-03-05", "2012-03-07").days
    print dateDiffInSeconds("2013-03-07 12:22:00", "2013-03-07 10:22:00")
    print type(getCurrentDate())
    print getCurrentDateTime()
    print dateDiffInSeconds(getCurrentDateTime(), "2013-06-17 14:00:00")
    print getCurrentHour()
    print dateAddInDays("2013-04-05",-5)
    print getDateToNumber("2013-04-05")
    print getDateToNumber("2013-04-05 22:11:33")

def is_leap_year(pyear):
    '''
            判断输入的年份是否是闰年
    '''  
    try:                    
        datetime.datetime(pyear, 2, 29)
        return True         
    except ValueError:      
        return False        

    weekday=int(pdateElements.tm_wday)+1
    if weekday==7:
        weekday=0
    return weekday

TAG标签:
版权声明:本文由凯时国际ag下载发布于技术核心,转载请注明出处:1、时间戳    1970年1月1日之后的秒,直接贴代码