help to code...

MRAB python at mrabarnett.plus.com
Thu May 2 11:37:06 EDT 2013


On 02/05/2013 16:26, Mark Lawrence wrote:
> On 02/05/2013 15:59, Chris Angelico wrote:
>> On Thu, May 2, 2013 at 11:50 PM, leonardo selmi <l.selmi at icloud.com> wrote:
>>> dear python community,
>>>
>>> i wrote the following program:
>>>
>>> print str(current_month) + '/' + str(current_day) + '/' + str(current_year)
>>> +' '+
>>> print str(current_hour) + str(current_minute) + str(current_second)
>>>
>>> SyntaxError: invalid syntax
>>>
>>> how can i write the last two lines correctly?
>>
>> You're doing two separate print statements. Either join them into one
>> (if you want it to be one line), or drop the last + on the first line,
>> which is causing your syntax error. But there's an even easier way to
>> do this: Use formatted printing.
>>
>> print("%d/%d/%d
>> %d%d%d"%(current_month,current_day,current_year,current_hour,current_minute,current_second))
>>
>> Or, since you're getting those straight from 'now':
>>
>> print("%d/%d/%d
>> %d%d%d"%(now.month,now.day,now.year,now.hour,now.minute,now.second))
>>
>> I strongly suspect that you want to put delimiters in the time, though
>> (colons, perhaps?). It'd be really nice, by the way, if you'd avoid
>> the messy American format date with the month first; put the year
>> first and it's unambiguous!
>>
>> ChrisA
>>
>
> Better IMHO is to use strftime
> http://docs.python.org/2/library/datetime.html#strftime-and-strptime-behavior
> so the complete code could be
>
> from datetime import datetime
> print(datetime.now().strftime('%m/%Y/%d %H %m %S'))
>
Except, of course, putting the year first, and using "%m" for the
minutes:

print(datetime.now().strftime('%Y-%m-%d %H:%M:%S'))

:-)




More information about the Python-list mailing list