J'étudie Python régulièrement à freeCodeCamp. Dans l'article précédent (https://qiita.com/makky0620/items/0f5dbcdd77b5b10cce96), j'ai défié ** Python for Everybody ** et ** Arithmetic Formatter **. Cette fois, je vais contester ** Time Calculator **.
La dernière chose que je veux est la méthode ʻadd_time`, et le comportement est le suivant
add_time("3:00 PM", "3:10")
# Returns: 6:10 PM
add_time("11:30 AM", "2:32", "Monday")
# Returns: 2:02 PM, Monday
add_time("11:43 AM", "00:20")
# Returns: 12:03 PM
add_time("10:10 PM", "3:30")
# Returns: 1:40 AM (next day)
add_time("11:43 PM", "24:20", "tueSday")
# Returns: 12:03 AM, Thursday (2 days later)
add_time("6:30 PM", "205:12")
# Returns: 7:42 AM (9 days later)
datetime
et ajoutez le deuxième argument avec:
divisé en heures et minutes.En tant que méthode pour convertir la date et l'heure et la chaîne de caractères l'une à l'autre
strptime ()
: String-> Convertir en date et heurestrftime ()
: Date et heure-> Convertir en chaîneil y a. strftime ()
peut afficher le jour en utilisant un code de formatage tel que % A
ou% a
. Il existe également un code de formatage «% p» pour les tables de 12 heures comme AM / PM.
import datetime
dt = datetime.datetime(2020, 7, 13)
print(dt.strftime('%A, %a'))
# Monday, Mon
Cependant, strptime ()
ne pouvait pas recevoir le jour avec% a
etc. (Parce que vous ne connaissez pas le jour à moins que la date ne soit décidée ...)
import datetime
dt_str = "7:49 Wednesday"
format = "%H:%M %A"
dt = datetime.strptime(dt_str, format)
print(dt.strftime("%H:%M %A"))
# 07:49 Monday
Alors, j'ai fait une liste de jours et l'ai mise en œuvre.
weeks = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
def get_week_by_diff(week, diff):
index = weeks.index(week)
target_index (index + diff) % len(weeks)
return weeks[target_index]
J'ai senti que c'était plus facile que le problème précédent.
Le prochain numéro est * Budget App *.
Recommended Posts