Python datetime.时间和算术运算



如何在Python中获得两个datetime.time变量的和和差?例如:

import datetime
now = datetime.datetime.now()
act_time = datetime.time(now.hour, now.minute, now.second)
diff = act_time - finish_time

试一下:

#----------------------------- 
# Dates produce timedeltas when subtracted.
diff = date2 - date1
diff = datetime.date(year1, month1, day1) - datetime.date(year2, month2, day2)
#----------------------------- 
bree = datetime.datetime(1981, 6, 16, 4, 35, 25)
nat  = datetime.datetime(1973, 1, 18, 3, 45, 50)
difference = bree - nat
print "There were", difference, "minutes between Nat and Bree"
#=> There were 3071 days, 0:49:35 between Nat and Bree
weeks, days = divmod(difference.days, 7)
minutes, seconds = divmod(difference.seconds, 60)
hours, minutes = divmod(minutes, 60)
print "%d weeks, %d days, %d:%d:%d" % (weeks, days, hours, minutes, seconds)
#=> 438 weeks, 5 days, 0:49:35
#----------------------------- 
print "There were", difference.days, "days between Bree and Nat." 
#=> There were 3071 days between bree and nat

操作:

#----------------------------- 
# Adding to or Subtracting from a Date
# Use the rather nice datetime.timedelta objects
now = datetime.date(2003, 8, 6)
difference1 = datetime.timedelta(days=1)
difference2 = datetime.timedelta(weeks=-2)
print "One day in the future is:", now + difference1
#=> One day in the future is: 2003-08-07
print "Two weeks in the past is:", now + difference2
#=> Two weeks in the past is: 2003-07-23
print datetime.date(2003, 8, 6) - datetime.date(2000, 8, 6)
#=> 1095 days, 0:00:00
#----------------------------- 
birthtime = datetime.datetime(1973, 01, 18, 3, 45, 50)   # 1973-01-18 03:45:50
interval = datetime.timedelta(seconds=5, minutes=17, hours=2, days=55) 
then = birthtime + interval
print "Then is", then.ctime()
#=> Then is Wed Mar 14 06:02:55 1973
print "Then is", then.strftime("%A %B %d %I:%M:%S %p %Y")
#=> Then is Wednesday March 14 06:02:55 AM 1973
#-----------------------------
when = datetime.datetime(1973, 1, 18) + datetime.timedelta(days=55) 
print "Nat was 55 days old on:", when.strftime("%m/%d/%Y").lstrip("0")
#=> Nat was 55 days old on: 3/14/1973
#----------------------------- 
# Adding to or Subtracting from a Date
# Use the rather nice datetime.timedelta objects
now = datetime.date(2003, 8, 6)
difference1 = datetime.timedelta(days=1)
difference2 = datetime.timedelta(weeks=-2)
print "One day in the future is:", now + difference1
#=> One day in the future is: 2003-08-07
print "Two weeks in the past is:", now + difference2
#=> Two weeks in the past is: 2003-07-23
print datetime.date(2003, 8, 6) - datetime.date(2000, 8, 6)
#=> 1095 days, 0:00:00
#----------------------------- 
birthtime = datetime.datetime(1973, 01, 18, 3, 45, 50)   # 1973-01-18 03:45:50
interval = datetime.timedelta(seconds=5, minutes=17, hours=2, days=55) 
then = birthtime + interval
print "Then is", then.ctime()
#=> Then is Wed Mar 14 06:02:55 1973
print "Then is", then.strftime("%A %B %d %I:%M:%S %p %Y")
#=> Then is Wednesday March 14 06:02:55 AM 1973
#-----------------------------
when = datetime.datetime(1973, 1, 18) + datetime.timedelta(days=55) 
print "Nat was 55 days old on:", when.strftime("%m/%d/%Y").lstrip("0")
#=> Nat was 55 days old on: 3/14/1973

来源:http://pleac.sourceforge.net/pleac_python/datesandtimes.html

相关内容

  • 没有找到相关文章

最新更新