Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 27, 2009 21:31:47

Mutagena
От:
Зарегистрирован: 2009-10-18
Сообщения: 295
Репутация: +  0  -
Профиль   Отправить e-mail  

Получить дату из 2х переменных.

Собственно возник вопрос. Есть 2 переменные year и mounth строкового типа.
Как получить из них дату?



Офлайн

#2 Дек. 27, 2009 21:49:58

Alex2ndr
От:
Зарегистрирован: 2009-12-26
Сообщения: 204
Репутация: +  0  -
Профиль   Отправить e-mail  

Получить дату из 2х переменных.

Mutagena
Собственно возник вопрос. Есть 2 переменные year и mounth строкового типа.
Как получить из них дату?
А что значит получить дату? объект типа datetime.date? что-то иное? Вы пример напишите - что есть и что в итоге нужно.



Офлайн

#3 Дек. 27, 2009 21:53:53

pasaranax
От:
Зарегистрирован: 2009-06-13
Сообщения: 574
Репутация: +  0  -
Профиль   Отправить e-mail  

Получить дату из 2х переменных.

Посмотри datetime.strptime() и time.strptime()



Офлайн

#4 Дек. 27, 2009 21:54:39

expee
От:
Зарегистрирован: 2009-12-21
Сообщения: 197
Репутация: +  0  -
Профиль   Отправить e-mail  

Получить дату из 2х переменных.

Дата теоритечески не может быть без числа.

Дата — запись, включаюшая в себя число месяца, месяц и год, иногда день недели, номер недели в году и систему летосчисления.
(с) by wikipedia.

Хотя если тебе нужно получить просто строку, то можно форматировать значения. А если нужен объет datetime.date, то увы.



Отредактировано (Дек. 27, 2009 21:55:41)

Офлайн

#5 Дек. 27, 2009 22:05:18

Mutagena
От:
Зарегистрирован: 2009-10-18
Сообщения: 295
Репутация: +  0  -
Профиль   Отправить e-mail  

Получить дату из 2х переменных.

expee, да мне нужен объект datetime.date.



Офлайн

#6 Дек. 27, 2009 22:08:20

Mutagena
От:
Зарегистрирован: 2009-10-18
Сообщения: 295
Репутация: +  0  -
Профиль   Отправить e-mail  

Получить дату из 2х переменных.

pasaranax, можно пример?

archive_date = datetime.strptime(':'.join(year, mounth))
так не работает, получается ошибка.



Офлайн

#7 Дек. 27, 2009 22:15:39

Alex2ndr
От:
Зарегистрирован: 2009-12-26
Сообщения: 204
Репутация: +  0  -
Профиль   Отправить e-mail  

Получить дату из 2х переменных.

Mutagena
pasaranax, можно пример?

archive_date = datetime.strptime(':'.join(year, mounth))
так не работает, получается ошибка.
archive_date = datetime.date(int(year), int(mounth), int(day))
без дня не будет работать - правильно expee сказал.

Если все равно то день можно поставить например 1-м числом
archive_date = datetime.date(int(year), int(mounth), 1)

In [15]: y = '2009'
In [16]: m = '12'
In [17]: archdate = datetime.date(int(y),int(m),1)
In [18]: archdate
Out[18]: datetime.date(2009, 12, 1)



Отредактировано (Дек. 27, 2009 22:18:44)

Офлайн

#8 Дек. 27, 2009 22:20:55

Mutagena
От:
Зарегистрирован: 2009-10-18
Сообщения: 295
Репутация: +  0  -
Профиль   Отправить e-mail  

Получить дату из 2х переменных.

Alex2ndr, спасибо.



Офлайн

#9 Дек. 27, 2009 23:13:01

pasaranax
От:
Зарегистрирован: 2009-06-13
Сообщения: 574
Репутация: +  0  -
Профиль   Отправить e-mail  

Получить дату из 2х переменных.

Mutagena
pasaranax, можно пример?
Тогда покажи как у тебя год и месяц выглядят.
import datetime
import time

year = "2009"
month = "12"

d = "%s-%s" % (year, month) # если как-то так, то...

print datetime.datetime.strptime(d, "%Y-%m")
print time.strptime(d, "%Y-%m")
как укажешь формат, так и разберет, даже день не обязателен



Отредактировано (Дек. 27, 2009 23:18:40)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version