2015-11-02 5 views
-2

Я хочу знать, как я могу преобразовать дату ввода, например, если я ввожу 01/01/1996, выход будет «1 января 1996 года», мне нужно сделать это для любой введенной даты. Мне нужно использовать нарезку. Спасибо заранее.преобразование даты ввода в строку?

inLine = input("please enter a date (dd/mm/yyyy) : ").split(',') 
monthNames = ("January", "February", "March", \ 
      "April", "May", "June", \ 
       "July", "August", "September", \ 
      "October", "November", "December") 
month = inLine [:10] 
month2 = "month"[:1] 
day = inLine 
year = inLine[0:2] 
year2 = "year"[0:4] 
print("this is the date %s %s %s." % (month2, day2, year2)) 
+1

и ваш код в? – levi

+0

Какой язык программирования вы используете? – wintvelt

+0

находится в python –

ответ

2

Я не знаю, почему вам нужно разделить свой вход, когда datetime parsing libraries уже существуют в Python.

>>> from datetime import datetime 
>>> datetime.strptime('01/01/1996', '%M/%d/%Y').strftime('%d %B %Y') 
'01 January 1996' 
+0

Просто набрал это! но да, всегда используйте стандартные библиотеки, а не изобретать колесо. – metaperture

+1

Я бы предположил, что это делается как какое-то учебное упражнение? – davidhood2

+0

по какой-то причине я должен делать это с расщеплением –

1

Это очень упрощенный ответ. Вам нужно уйти, узнать о массивах, индексировать и манипулировать ими. Я также предлагаю, если это домашнее задание какого-то рода, вы проходите и делаете больше примеров и изучаете, что произойдет, если, например, я вводим неверный ввод.

inLine = input("please enter a date (dd/mm/yyyy) : ").split('/') 
monthNames = ("January", "February", "March", \ 
      "April", "May", "June", \ 
       "July", "August", "September", \ 
      "October", "November", "December") 
day = int(inLine[0]) 
month = int(inLine[1]) 
year = int(inLine[2]) 

print("this is the date %s %s %s." % (day, monthNames[month-1], year)) 
+0

О, и я рекомендую научиться отлаживать исходный код - если бы вы, например, добавили несколько дополнительных инструкций print(), вы бы точно поняли, почему ваш оригинальный код не делал то, что вы считали! – davidhood2

+0

Если ОП требует разделения, этот способ работает (минус недопустимый ввод). Кроме того, вам не нужно бросать день или год в int. –

+1

Согласен - его не нужно бросать ничего, кроме месяца, в int. Но я опрокинул его как грубый пример! – davidhood2

Смежные вопросы