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