Remove the time challenge in Python

0 min read 189 words

The challenge

You’re re-designing a blog and the blog’s posts have the following format for showing the date and time a post was made:

Weekday Month Daytime e.g., Friday May 2, 7pm

You’re running out of screen real estate, and on some pages you want to display a shorter format, Weekday Month Day that omits the time.

Write a function, shortenToDate, that takes the Website date/time in its original string format, and returns the shortened format.

Assume shortenToDate’s input will always be a string, e.g. “Friday May 2, 7pm”. Assume shortenToDate’s output will be the shortened string, e.g., “Friday May 2”.

Test cases

Test.describe("Basic tests")
Test.assert_equals(shorten_to_date("Monday February 2, 8pm"), "Monday February 2")
Test.assert_equals(shorten_to_date("Tuesday May 29, 8pm"), "Tuesday May 29")
Test.assert_equals(shorten_to_date("Wed September 1, 3am"), "Wed September 1")
Test.assert_equals(shorten_to_date("Friday May 2, 9am"), "Friday May 2")
Test.assert_equals(shorten_to_date("Tuesday January 29, 10pm"), "Tuesday January 29")

The solution in Python

Option 1:

def shorten_to_date(long_date):
    # split by the `,` and return the first section
    return long_date.split(",")[0]

Option 2:

def shorten_to_date(long_date):
    return long_date[:long_date.index(',')]

Option 3 (using splicing):

def shorten_to_date(long_date):
    # get the location of the `,`
    num = long_date.find(',')
    # return the splice
    return long_date[0:num]
Tags:
Andrew
Andrew

Andrew is a visionary software engineer and DevOps expert with a proven track record of delivering cutting-edge solutions that drive innovation at Ataiva.com. As a leader on numerous high-profile projects, Andrew brings his exceptional technical expertise and collaborative leadership skills to the table, fostering a culture of agility and excellence within the team. With a passion for architecting scalable systems, automating workflows, and empowering teams, Andrew is a sought-after authority in the field of software development and DevOps.

Tags