powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Преобразование текста в дату
5 сообщений из 5, страница 1 из 1
Преобразование текста в дату
    #39796540
a.naumov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Друзья, здравствуйте!

Задача достаточно банальная, может у кого есть уже готовая процедура (функция ...) Помогите, пожалуйста.

Есть импортированные данные в формате: 11 апр 2011, надо поместить в таблицу БД в виде: 11.04.2011 (т.е. в формате даты).
Заранее спасибо большое!
...
Рейтинг: 0 / 0
Преобразование текста в дату
    #39796582
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. строго вот так - 2 цифры число, 3 буквы месяц, 4 цифры год? без косяков?
Тогда вообще не понимаю проблемы - CDate("11 апр 2011") даёт как раз 11.04.2011 в формате даты.
...
Рейтинг: 0 / 0
Преобразование текста в дату
    #39796651
Согласен с Akina, но это жестко завязано на параметры системы. Кстати, Cdate("11 апреля 2019") тоже вернет 11.04.19

Набросал функцию, которая для вашего варианта возвращает нужный результат или Null, если передан неправильный текст.
Сюда можно добавить варианты на английском и/или других языках, полное название месяца в разных падежах и т.д.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Function ConvertTextDateToDate(Text$)
Dim v
    v = Split(Text, " ")
 If UBound(v) <> 2 Then ConvertTextDateToDate = Null: Exit Function
 Select Case v(1)
 Case "янв": v(1) = 1
 Case "фев": v(1) = 2
 Case "мар": v(1) = 3
 Case "апр": v(1) = 4
 Case "май": v(1) = 5
 Case "июн": v(1) = 6
 Case "июл": v(1) = 7
 Case "авг": v(1) = 8
 Case "сен": v(1) = 9
 Case "окт": v(1) = 10
 Case "ноя": v(1) = 11
 Case "дек": v(1) = 12
 Case Else
    ConvertTextDateToDate = Null: Exit Function
 End Select
    ConvertTextDateToDate = DateSerial(v(2), v(1), v(0))
End Function


Код: vbnet
1.
2.
?ConvertTextDateToDate("11 апр 2019")
11.04.19 
...
Рейтинг: 0 / 0
Преобразование текста в дату
    #39796678
a.naumov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, отлично. Спасибо. Правда я сейчас немного переделаю. Просто в импортируемом файле формат немного не такой, как я написал. П\Скорее вот правильный вариант из импортируемого файла :"Thu Mar 28 07:22:00 GMT 2019"

Всеравно премного благодарен. Принцип ясен, поколдую чуть-чуть.
...
Рейтинг: 0 / 0
Преобразование текста в дату
    #39796838
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a.naumov
если в полес "краткий формат даты" записать 11 апр 2011 то отобразится 11.04.2011
(а вообще фиолетово как хранить даты в таблице
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Преобразование текста в дату
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]