Форматирование даты...

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
MeMBus
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 450
Зарегистрирован: 23.02.2005 (Ср) 7:03
Откуда: Из леса...

Форматирование даты...

Сообщение MeMBus » 29.07.2005 (Пт) 11:29

Народ, вчера ломал голову над задачкой... Есть строка содержащая «тра-ля-ля от 21 Января 2005 г.», нужно значит выдернуть «21 Января 2005 г.» и преобразовать в строку 21.01.05. Итак, вопрос... Можно ли данную операцию сделать с помощью format?
P.S. я уже выдернул из строки "21 Января 2005 г." :)
Бороться и искать, найти и перепрятать!

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 29.07.2005 (Пт) 11:31

эт Format наоборот получается
Весь мир матрица, а мы в нем потоки байтов!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 29.07.2005 (Пт) 12:34

Select Case на месяц и Val() на остальное.
Lasciate ogni speranza, voi ch'entrate.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 29.07.2005 (Пт) 12:57

alibek писал(а):Select Case на месяц и Val() на остальное.


Фу!!! Я тебя не узнаю!

CDate("21 Января 2005")

И только.
Только я бы посоветовал из месяца вырезать три буквы, чтобы было:

CDate("21 Янв 2005")

А то глюк из-за Феврапя будет...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 29.07.2005 (Пт) 13:20

А если прога будет работать на машине с английской или немецкой локалью? :)
Lasciate ogni speranza, voi ch'entrate.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 29.07.2005 (Пт) 13:23

alibek писал(а):А если прога будет работать на машине с английской или немецкой локалью? :)


Как я понимаю, тогда эта прога будет иметь на входе английские или немецкие слова... В общем, это уже вопрос к автору темы...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

MeMBus
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 450
Зарегистрирован: 23.02.2005 (Ср) 7:03
Откуда: Из леса...

Re: Форматирование даты...

Сообщение MeMBus » 30.07.2005 (Сб) 8:36

Братья по разуму, вы внимательно читали вопрос?
MeMBus писал(а):Можно ли данную операцию сделать с помощью format?

Сразу скажу, это не VB... Просто язык основан частично на синтаксисе VB, соотв. унаследовал и «format»... Так вот, для форматирования строки в формат «21 Января 2005 г.» будем использовать «DDMMMMYYYY» (на vb можно еще использовать «Long Date»)... Так вот, попробуйте сделать из «21 Января 2005 г.» - «21.01.05» используя format.
Бороться и искать, найти и перепрятать!

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Re: Форматирование даты...

Сообщение Andrey Fedorov » 01.08.2005 (Пн) 7:34

MeMBus писал(а):Так вот, попробуйте сделать из «21 Января 2005 г.» - «21.01.05» используя format.


Форматировать можно дату, то есть с помощью CDate нужно сначала строку преобразовать в дату, а потом уже делать Format...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

MeMBus
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 450
Зарегистрирован: 23.02.2005 (Ср) 7:03
Откуда: Из леса...

Re: Форматирование даты...

Сообщение MeMBus » 01.08.2005 (Пн) 8:45

Andrey Fedorov писал(а):Форматировать можно дату, то есть с помощью CDate нужно сначала строку преобразовать в дату, а потом уже делать Format...

Логично... Задача таки в этом и стоит чтоб из строки «21 Января 2005 г.» получить дату 21.01.2005. Но... есть маленькое но... В VB я это сделаю без проблем, а вот в 1С не пройдет, так как «их» преобразователь даты из строки понимает тока формат строки 21.01.05... Сделать это преобразование по-своему, не проблема... Просто подумал, если есть функция форматирования в формат «21 Января 2005 г.» из «21.01.05», почему нет форматирования «21.01.05» из «21 Января 2005 г.». Хотя это скорее мой мозг тупит... понимая, что компьютерная дата имеет формат «21.01.05»... Но все же, может я не один такой...
Бороться и искать, найти и перепрятать!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 69

    TopList