Help me to edit my code in the link | Sololearn: Learn to code for FREE!
New course! Every coder should learn Generative AI!
Try a free lesson
+ 1

Help me to edit my code in the link

When I enter date in 00/00/0000 format, it should output sensible date. For example, 11/20/2000 should output 20/11/2000. https://code.sololearn.com/cCrw0rsFpEA4/?ref=app

9th Sep 2020, 6:58 AM
Innocent Salimoni
Innocent Salimoni - avatar
4 Answers
+ 2
Good try pal but there are more efficient solutions... --------------------------------------------------------------- SOLUTION 1 (Best) from datetime import datetime df = ['01/31/2014', '02/06/2013'] f = [datetime.strptime(d, "%d/%m/%Y").strftime("%m/%d/%Y") for d in df] print(f) --------------------------------------------------------------- The way you tried, just a smaller ver. SOLUTION 2 df = ['01/31/2014', '02/06/2013'] for a in df: s = list(a) d = [s[3],s[4],s[2],s[0],s[1],s[5],s[6],s[7],s[8],s[9]] f.append("".join(d)) print (f)
9th Sep 2020, 9:51 AM
Arun Bhattacharya
Arun Bhattacharya - avatar
+ 1
Arun Bhattacharya Thanks for your honest help. But may you please explain your code!
9th Sep 2020, 6:50 PM
Innocent Salimoni
Innocent Salimoni - avatar
+ 1
My Solution 1 Explanation: from datetime import datetime df = ['01/31/2014', '02/06/2013'] f = [datetime.strptime(d, "%d/%m/%Y").strftime("%m/%d/%Y") for d in df] print(f) Line 1: Importing Datetime Module Line 2: Considering any two dates in a form of a tuple (stored in "df") Line 3: datetime.strptime(d, "%d/%m/%Y") -> strptime is a method in datetime -> The first parameter "d" -> is the dates in "df" -> strptime parses the date -> The Second parameter parses the "%d"->The Date, "%m"-> The Month, "%y"-> The Year .strftime("%m/%d/%Y") -> The "." brings the earlier statement together -> strftime is a method in datetime -> Here the parameter is the format in which we parsed earlier, so, now "%m"-> The Month, "%d"-> The Date, "%y"-> The Year for d in df -> This, in simpler manner, the "d" anywhere in the statement is the "df[0]" and then "df[1]" Line4: You understand whats "print(f)" strptime -> strptime means string parser, this will convert a string format to datetime. strftime -> strftime means string formatter, this will format a datetime object to string format.
11th Sep 2020, 4:44 AM
Arun Bhattacharya
Arun Bhattacharya - avatar
0
Thanks once again
13th Sep 2020, 5:01 AM
Innocent Salimoni
Innocent Salimoni - avatar