两个日期之间的差异(日期时间)
Difference between two dates (datetime)
我正在尝试在 Python 中编写一个程序来计算两个日期之间的天数。
我从用户那里收到格式为 May 2 2020 的输入。我了解到我应该首先将字符串解析为日期,但我不知道该怎么做。请帮助我。
这是我试过的程序:
from datetime import date
first_date(input)
sec_date(input)
con_date = datetime.strptime(first_date, '%d %m %Y').date()
con_date2 = datetime.strptime(first_date, '%d %m %Y').date()
delta = con_date2 - con_date
print(delta)
如果我以 first_date 的字符串形式 May 2 2020
和 sec_date 的 Jun 30 2020
形式输入,我如何将此字符串转换为日期格式?注意:输入只能以上述格式给出。
以上代码无法将字符串转换为日期。请帮我把它转换成日期,求出sec_date到first_date之间的天数。
这应该有帮助
import datetime
str = "May 2 2020"
str2 = "June 30 2020"
#convert str of month to int
str = str.split(" ")
str2 = str2.split(" ")
month_name = str[0]
month_name2 = str2[0]
try:
datetime_object = datetime.datetime.strptime(month_name, "%B")
except ValueError:
datetime_object = datetime.datetime.strptime(month_name, "%b")
month_number = datetime_object.month
try:
datetime_object = datetime.datetime.strptime(month_name2, "%B")
except ValueError:
datetime_object = datetime.datetime.strptime(month_name2, "%b")
month_number2 = datetime_object.month
#find number of days between dates
d0 = datetime.date(int(str[2]), month_number, int(str[1]))
d1 = datetime.date(int(str2[2]), month_number2, int(str2[1]))
delta = d1 - d0
print(delta.days)
您可以使用适当的 strptime format.
简单地解析时间
然后,一旦你获得了两个 date
对象,你可以简单地减去它们:
import datetime
d1_str = "Apr 29 2020"
d2_str = "May 7 2020"
fmt = "%b %d %Y"
d1 = datetime.datetime.strptime(d1_str, fmt).date()
d2 = datetime.datetime.strptime(d2_str, fmt).date()
delta = d2 - d1
print(delta)
print(delta.days)
输出为:
6 days, 0:00:00
6
这是一个应用方法,它将接受开始日期和结束日期作为参数,并返回它们之间的天差。
希望对你有帮助。
from datetime import date
import time
first_date = input("Enter First Date: ").split(" ")
sec_date = input("Enter Second Date: ").split(" ")
def getTimeDiff(fist_date, second_date):
month1 = time.strptime(first_date[0], "%b").tm_mon
month2 = time.strptime(second_date[0], "%b").tm_mon
date1 = date(int(fist_date[2]), month1, int(first_date[1]))
date2 = date(int(second_date[2]), month2, int(second_date[1]))
delta = date2 - date1
return delta.days
res = getTimeDiff(first_date, sec_date)
print(res)
from datetime import datetime
first_date = "May 2 2020"
sec_date = "Jun 30 2020"
con_date = datetime.strptime(first_date, '%b %d %Y').date()
con_date2 = datetime.strptime(sec_date, '%b %d %Y').date()
delta = con_date2 - con_date
print(delta.days)
我正在尝试在 Python 中编写一个程序来计算两个日期之间的天数。
我从用户那里收到格式为 May 2 2020 的输入。我了解到我应该首先将字符串解析为日期,但我不知道该怎么做。请帮助我。
这是我试过的程序:
from datetime import date
first_date(input)
sec_date(input)
con_date = datetime.strptime(first_date, '%d %m %Y').date()
con_date2 = datetime.strptime(first_date, '%d %m %Y').date()
delta = con_date2 - con_date
print(delta)
如果我以 first_date 的字符串形式 May 2 2020
和 sec_date 的 Jun 30 2020
形式输入,我如何将此字符串转换为日期格式?注意:输入只能以上述格式给出。
以上代码无法将字符串转换为日期。请帮我把它转换成日期,求出sec_date到first_date之间的天数。
这应该有帮助
import datetime
str = "May 2 2020"
str2 = "June 30 2020"
#convert str of month to int
str = str.split(" ")
str2 = str2.split(" ")
month_name = str[0]
month_name2 = str2[0]
try:
datetime_object = datetime.datetime.strptime(month_name, "%B")
except ValueError:
datetime_object = datetime.datetime.strptime(month_name, "%b")
month_number = datetime_object.month
try:
datetime_object = datetime.datetime.strptime(month_name2, "%B")
except ValueError:
datetime_object = datetime.datetime.strptime(month_name2, "%b")
month_number2 = datetime_object.month
#find number of days between dates
d0 = datetime.date(int(str[2]), month_number, int(str[1]))
d1 = datetime.date(int(str2[2]), month_number2, int(str2[1]))
delta = d1 - d0
print(delta.days)
您可以使用适当的 strptime format.
简单地解析时间然后,一旦你获得了两个 date
对象,你可以简单地减去它们:
import datetime
d1_str = "Apr 29 2020"
d2_str = "May 7 2020"
fmt = "%b %d %Y"
d1 = datetime.datetime.strptime(d1_str, fmt).date()
d2 = datetime.datetime.strptime(d2_str, fmt).date()
delta = d2 - d1
print(delta)
print(delta.days)
输出为:
6 days, 0:00:00
6
这是一个应用方法,它将接受开始日期和结束日期作为参数,并返回它们之间的天差。 希望对你有帮助。
from datetime import date
import time
first_date = input("Enter First Date: ").split(" ")
sec_date = input("Enter Second Date: ").split(" ")
def getTimeDiff(fist_date, second_date):
month1 = time.strptime(first_date[0], "%b").tm_mon
month2 = time.strptime(second_date[0], "%b").tm_mon
date1 = date(int(fist_date[2]), month1, int(first_date[1]))
date2 = date(int(second_date[2]), month2, int(second_date[1]))
delta = date2 - date1
return delta.days
res = getTimeDiff(first_date, sec_date)
print(res)
from datetime import datetime
first_date = "May 2 2020"
sec_date = "Jun 30 2020"
con_date = datetime.strptime(first_date, '%b %d %Y').date()
con_date2 = datetime.strptime(sec_date, '%b %d %Y').date()
delta = con_date2 - con_date
print(delta.days)