Python - 数据科学之 - 日期和时间

  • 简述

    通常在数据科学中,我们需要基于时间值的分析。Python 可以优雅地处理各种格式的日期和时间。这datetime库提供了必要的方法和函数来处理以下场景。
    • 日期时间表示
    • 日期时间算术
    • 日期时间比较
    我们将一一研究。
  • 日期时间表示

    日期及其各个部分通过使用不同的日期时间函数来表示。此外,还有一些格式说明符在显示日期的字母部分方面发挥作用,例如月份名称或工作日名称。以下代码显示了今天的日期和日期的各个部分。
    
    import datetime
    print 'The Date Today is  :', datetime.datetime.today()
    date_today = datetime.date.today()
    print date_today
    print 'This Year   :', date_today.year
    print 'This Month    :', date_today.month
    print 'Month Name:',date_today.strftime('%B')
    print 'This Week Day    :', date_today.day
    print 'Week Day Name:',date_today.strftime('%A')
    
    当我们执行上面的代码时,它会产生以下结果。
    
    The Date Today is  : 2018-04-22 15:38:35.835000
    2018-04-22
    This Year   : 2018
    This Month    : 4
    Month Name: April
    This Week Day    : 22
    Week Day Name: Sunday
    
  • 日期时间算术

    对于涉及日期的计算,我们将各种日期存储到变量中,并将相关的数学运算符应用于这些变量。
    
    import datetime 
     
    #Capture the First Date
    day1 = datetime.date(2018, 2, 12)
    print 'day1:', day1.ctime()
    # Capture the Second Date
    day2 = datetime.date(2017, 8, 18)
    print 'day2:', day2.ctime()
    # Find the difference between the dates
    print 'Number of Days:', day1-day2
    date_today  = datetime.date.today() 
    # Create a delta of Four Days 
    no_of_days = datetime.timedelta(days=4) 
    # Use Delta for Past Date
    before_four_days = date_today - no_of_days 
    print 'Before Four Days:', before_four_days 
     
    # Use Delta for future Date
    after_four_days = date_today + no_of_days 
    print 'After Four Days:', after_four_days 
    
    当我们执行上面的代码时,它会产生以下结果。
    
    day1: Mon Feb 12 00:00:00 2018
    day2: Fri Aug 18 00:00:00 2017
    Number of Days: 178 days, 0:00:00
    Before Four Days: 2018-04-18
    After Four Days: 2018-04-26
    
  • 日期时间比较

    日期和时间使用逻辑运算符进行比较。但是我们必须小心比较日期的正确部分。在下面的示例中,我们使用 python if 子句和逻辑运算符来比较未来和过去的日期。
    
    import datetime
    date_today  = datetime.date.today() 
    print 'Today is: ', date_today
    # Create a delta of Four Days 
    no_of_days = datetime.timedelta(days=4) 
    # Use Delta for Past Date
    before_four_days = date_today - no_of_days 
    print 'Before Four Days:', before_four_days 
    after_four_days =  date_today + no_of_days
    date1 = datetime.date(2018,4,4)
    print 'date1:',date1
    if date1 == before_four_days :
        print 'Same Dates'
    if date_today > date1:
        print 'Past Date'
    if date1 < after_four_days:
        print 'Future Date'
    
    当我们执行上面的代码时,它会产生以下结果。
    
    Today is:  2018-04-22
    Before Four Days: 2018-04-18
    date1: 2018-04-04
    Past Date
    Future Date