Почему не работает Format для даты?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Rojohn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 439
Зарегистрирован: 22.06.2005 (Ср) 11:00
Откуда: Moscow city

Почему не работает Format для даты?

Сообщение Rojohn » 23.08.2005 (Вт) 23:17

Ещё проблемка... Пытаюсь перевести в формат даты с 4-х значным годом:
Код: Выделить всё
selDate = Format(DateClicked, "DD.MM.YYYY")


В результате и DateClicked и selDate остаются в формате с 2-х значным годом. Почему?

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 23.08.2005 (Вт) 23:46

1. Какого типа переменная selDate?
2. Ты указал неправильный формат в одноименной функции. Надо писать так:
Код: Выделить всё
selDate = Format(DateClicked, "long date")

Дальнейшее будет зависеть от того, какой именно у тебя в региональных настройках стоит полный формат даты. Но в общем случае используется примерно та форма, которую ты использовал, только с учетом региональных настроек конкретной машины.

Rojohn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 439
Зарегистрирован: 22.06.2005 (Ср) 11:00
Откуда: Moscow city

Спасибо!:)

Сообщение Rojohn » 24.08.2005 (Ср) 10:42

:) Да... полный прикол :) У всех на компах, где стоит наша прога мы дату меняем на полную (даже в руководстве пользователя написано), а у себя дома поменять забыл :) :) :) Спасибо, Ennor!
Теперь работает даже в моём формате! :D


А можно сделать так, чтобы не зависело от формата в машине и везде исправляло на полный формат? Понимаю, что разбирая дату и опять собирая можно, а проще (Format или похоже)?

lord0n
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow

Сообщение lord0n » 24.08.2005 (Ср) 10:48

ну незнаю товарищи чего вы мудрите
только что проверил

Код: Выделить всё

a=format(date,"d.m.yy") 'показывает 24.8.05

d="01.01.2005"
a=format(d,"d.m.yy") 'показывает 1.1.05

Теория - это когда что-то не работает и известно почему.
Практика - это когда что-то работает, но неизвестно почему.
Нам удалось совместить теорию с практикой, теперь ничего не работает и неизвестно почему.

Rojohn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 439
Зарегистрирован: 22.06.2005 (Ср) 11:00
Откуда: Moscow city

...

Сообщение Rojohn » 24.08.2005 (Ср) 10:57

Да в том-то и дело, что двойные-то форматы работают везде. А вот если надо из YY перевести в YYYY, то енто работает только на машинах с установленым полным форматом в "региональных форматах-дата", а на других остаётся YY, как бы кто не мудрил":)

lord0n
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow

Re: ...

Сообщение lord0n » 24.08.2005 (Ср) 11:04

Rojohn писал(а):Да в том-то и дело, что двойные-то форматы работают везде. А вот если надо из YY перевести в YYYY, то енто работает только на машинах с установленым полным форматом в "региональных форматах-дата", а на других остаётся YY, как бы кто не мудрил":)


гон полнейший
в настройках стоит dd.mm.yy

Код: Выделить всё

d = "01.01.05"
Label1 = Format(d, "dd.mm.yyyy") 'выводит 01.01.2005

d = "24.01.2005"
Label1 = Format(d, "mm.dd.yyyy") 'выводит 01.24.2005

d = "24.01.05"
Label1 = Format(d, "dd.mm.yyyy") 'выводит 24.01.2005

Теория - это когда что-то не работает и известно почему.
Практика - это когда что-то работает, но неизвестно почему.
Нам удалось совместить теорию с практикой, теперь ничего не работает и неизвестно почему.

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

Re: Почему не работает Format для даты?

Сообщение Andrey Fedorov » 24.08.2005 (Ср) 11:05

Rojohn писал(а):Ещё проблемка... Пытаюсь перевести в формат даты с 4-х значным годом:
Код: Выделить всё
selDate = Format(DateClicked, "DD.MM.YYYY")


В результате и DateClicked и selDate остаются в формате с 2-х значным годом. Почему?


Гы! Что-то мне подсказывает что selDate у Вас имеет тип даты!

И что Вы при этом хотите получить, интересно???
:lol:
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Rojohn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 439
Зарегистрирован: 22.06.2005 (Ср) 11:00
Откуда: Moscow city

Да...

Сообщение Rojohn » 24.08.2005 (Ср) 11:12

Гы! Что-то мне подсказывает что selDate у Вас имеет тип даты!


И енто совершеннейшая правда! :) Я действительно совершил полнейшую ерунду объявив переменную уровня формы как Data и потом в ентой же форме делая ей CStr(Data) - гы! Сейчас усё в порядке и независит от установок компа! Спасибы добрые люди! :D


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

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

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

    TopList