On 06/28/2014 02:20 PM, Albert-Jan Roskam wrote:
________________________________
From: Ken G. <beachkid...@gmail.com>
To: tutor@python.org
Sent: Saturday, June 28, 2014 7:59 PM
Subject: [Tutor] Finding numeric day in a year...



I know the correct answer should be 001, but I keep getting 179 which is the 
correct answer for June 28, 2014 (I think). I tried using datecode in various 
places instead of today but I am still getting 179. Currently using Ubuntu 
12.04.4 and Python 2.7. Thanks for any feedback and suggestion.


PROGRAM DISPLAY:

# datefind 03.py

import datetime

datecode = "20140101" # from database on file

month = datecode[4:6]
day  = datecode[6:8]
year  = datecode[0:4]
datecode = year + "-" + month + "-" + day
today = datecode
print today
print

print "Day of year: ", datetime.date.today().strftime("%j")


TERMINAL DISPLAY:

2014-01-01

Day of year:  179

------------------
(program exited with code: 0)
Press return to continue
Hello,

Your variable 'today' and the datetime function 'today()' are not the same 
thing. You need strptime to parse the date string (and tell it the format is 
yyyymmdd), then strftime to format it using the day-of-year format '%j'

datetime.datetime.strptime(datecode, "%Y%m%d").strftime("%j")
'001'

Thanks! That did the trick. Thank you.

Ken

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to