Консультация № 176259
24.01.2010, 16:31
0.00 руб.
0 8 1
Уважаемые эксперты, подскажите, как проще всего переводить даты разных форматов
имеем переменную Дата = «24 января 2010 г.» как перевести в 24.01.2010» и наоборот.
Спасибо Эндрю

Обсуждение

давно
Советник
399015
1996
24.01.2010, 18:39
общий
Можно написать подпрограмму. Вас интересует Бейсик или VBA ? Могу или набросать алгоритм, или написать на Бейсике программу с анализом входного значения ("зашита от дурака").
Неизвестный
24.01.2010, 20:14
общий
Ципихович Эндрю:
Format(Дата, "d MMMM yyyy")
Format(Дата, "dd.MM.yyyy")
давно
Модератор
137394
1850
24.01.2010, 21:48
общий
это ответ
Здравствуйте, Ципихович Эндрю. Насколько я Вас знаю, Вы интересуетесь макросами в Word. Вот код
Код:
     DataCipher = "24.01.2010"
DataName = Format(DataCipher, "dd mmmm yyyy г.")
DC = Format(Replace(DataName, " г.", ""), "dd/mm/yyyy")
MsgBox DataCipher + vbCrLf + DataName + vbCrLf + DC
Переменная DataCipher = "24.01.2010" преобразуется в переменную DataName = "24 января 2010 г.",
переменная DataName = "24 января 2010 г." преобразуется в DC = "24.01.2010".
5
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
Неизвестный
26.01.2010, 18:42
общий
Megaloman:
Извините видели ли Вы ответ Patriotix-N, 5-й класс
Вроде у Вас правильно и него правильно???, в чём разница в этих двух решениях???
Эндрю
Неизвестный
26.01.2010, 19:35
общий
Patriotix-N:
Попробовал как Вы указали:
Дата = "24 января 2010 г."
а = Format(Дата, "d MMMM yyyy")
в = Format(Дата, "dd.MM.yyyy")
Не работает, подскажите почему??
Неизвестный
26.01.2010, 19:38
общий
Sergey V. Gornostaev:
Если можете пришлите на ВБА прогу, которая высчитает срок с числа по число, сколько прошло месяцев и суток с использованием формы. Спасибо Эндрю
давно
Модератор
137394
1850
26.01.2010, 21:32
общий
Ципихович Эндрю:
Не вдумывался (не люблю копаться в чужих кодах). Cвои ответы я всегда проверяю, то что я представил, работает. Похоже в вашем коде прежде всего в выражении Дата = "24 января 2010 г." " г." мешает. Я у себя его убираю функцией Replace
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
давно
Модератор
137394
1850
26.01.2010, 22:27
общий
Ципихович Эндрю:
Вот код, вычисляющий интервал между двумя датами
Код:
 sDate1 = "26.05.2009"               ' Дата в символьном виде
sDate2 = "28.01.2010"

Date1 = DateValue(sDate1) ' преобразую дату из символьного типа в тип дата
Date2 = DateValue(sDate2)

IntMonth = DateDiff("m", Date1, Date2) ' Высчитываю интервал в месяцах

Date1m = DateAdd("m", IntMonth, Date1) ' Прибавляю к начальной дате кол-во месяцев
IntDays = DateDiff("d", Date1m, Date2) ' Высчитываю остаток в днях

MsgBox sDate1 + vbCrLf + sDate2 + vbCrLf + CStr(IntMonth) + " мес. " + CStr(IntDays) + " дн."
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
Форма ответа