Question
Write a Python function canonicalize_date(date_str) that takes a string date_str , representing a date in one of several possible formats, and returns a string that
Write a Python function canonicalize_date(date_str) that takes a string date_str, representing a date in one of several possible formats, and returns a string that is the canonical representation of that date.
I. Input Representation of Dates
The string passed to the canonicalize_date(date_str) function can be in any of the following three formats.
yyyy-mm-dd, where yyyy is a 4-digit sequence giving the year; mm is a 1- or 2-digit sequence giving the month; and dd is a 1- or 2-digit sequence giving the date.
Example: 2017-02-31
mm/dd/yyyy, where yyyy is a 4-digit sequence giving the year; mm is a 1- or 2-digit sequence giving the month; and dd is a 1- or 2-digit sequence giving the date.
Example: 02/31/2017.
MonthName dd yyyy, where MonthName is a three-letter sequence giving the name of a month (one of: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov,Dec); dd is a 1- or 2-digit sequence giving the date; andyyyy is a 4-digit sequence giving the year.
Example: Feb 31 2017
NOTE: To simplify programming, we will assume that all months have 31 days.
II. Canonical Representation of Dates
A date with year yyyy, month mm, and day dd, where yyyy, mm, and dd are strings of digits, has a canonical (i.e., standard) representation given by
"{:d}-{:d}-{:d}".format( int(yyyy ), int(mm),int(dd))
The reason for converting yyyy, mm, and dd to numbers using int() and then back to strings is to remove any leading zeros.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started