Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 | 3 |

 

  Вопрос: Форматирование времени Добавлено: 28.11.06 23:21  

Автор вопроса:  Kodo | ICQ: 293048085 
Есть ли для VB6 как-нибудь расширенные функции для работы с датами? Например, у меня есть дата в формате
ddd MMM dd, yyyy


Из нее надо выдрать число дня и месяца...
Реально ли? Встроенная Format вываливает Type mishmatch :(

Ответить

  Ответы Всего ответов: 34  

Номер ответа: 1
Автор ответа:
 Kodo



Разработчик Offline Client

ICQ: 293048085 

Вопросов: 37
Ответов: 457
 Профиль | | #1 Добавлено: 28.11.06 23:22
Блин ошибся в топике.
Не времени, а даты. Поправьте плиз.

Ответить

Номер ответа: 2
Автор ответа:
 Arseny



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #2 Добавлено: 28.11.06 23:40
к Format'у еще и преобразовать надо!
Надо парсинг строки творить: через Mid, Left Right и т.д., то бишь вручную отделять зерна от плевел и дни от месяцев...

Ответить

Номер ответа: 3
Автор ответа:
 Kodo



Разработчик Offline Client

ICQ: 293048085 

Вопросов: 37
Ответов: 457
 Профиль | | #3 Добавлено: 28.11.06 23:48
Хехе, думаешь я бы до этого не додумался?
Не все так просто.

Короче, задача такова:

Программе дается формат даты и собственно дата в этом формате. Надо получить дату и месяц, числами...

Ответить

Номер ответа: 4
Автор ответа:
 BUG(O)R



ICQ: 827887 

Вопросов: 13
Ответов: 142
 Web-сайт: hunger.ru
 Профиль | | #4
Добавлено: 29.11.06 12:09
Ну я бы посоветовал использовать регулярные выражения, в данном случае довольно просто составить по маске регулярку и выдрать нужную инфу из строки.

Ответить

Номер ответа: 5
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #5 Добавлено: 29.11.06 12:13
Дата - строка или что? Что за формат?

Ответить

Номер ответа: 6
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #6 Добавлено: 29.11.06 14:23
Бугор, как бы это сделал?

Ответить

Номер ответа: 7
Автор ответа:
 Kodo



Разработчик Offline Client

ICQ: 293048085 

Вопросов: 37
Ответов: 457
 Профиль | | #7 Добавлено: 29.11.06 17:43
LamerOnLine
Формат обоих исходных данных - строки.
в данном случае довольно просто составить по маске регулярку и выдрать нужную инфу из строки

Можно примерчик?

Ответить

Номер ответа: 8
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #8 Добавлено: 30.11.06 22:21
Тю, судя по коду OffClienta мне показалось что ты владеешь бейсиком на достаточном уровне, покрайнемере разбор строки - совсем детская тема...

ну ок...


Private Sub Form_Load()

'1)
MsgBox "День " & Split(CStr(Date), ".";)(0)
MsgBox "Месяц " & Split(CStr(Date), ".";)(1)
MsgBox "Год " & Split(CStr(Date), ".";)(2)


'2)
'ddd MMM dd, yyyy
Dim str$: str$ = "ddd MMM dd, yyyy"
str$ = Replace(str$, ",", "";)

MsgBox Split(str$, " ";)(0)
MsgBox Split(str$, " ";)(1)
MsgBox Split(str$, " ";)(2)
MsgBox Split(str$, " ";)(3)

End
End Sub

Ответить

Номер ответа: 9
Автор ответа:
 Kodo



Разработчик Offline Client

ICQ: 293048085 

Вопросов: 37
Ответов: 457
 Профиль | | #9 Добавлено: 30.11.06 23:09
HACKER
Да блин, я видимо что-то не так написал. Если бы я работал с одним форматом даты, я бы тоже засплитил и не геморроился. Но мне нужна УНИВЕРСАЛЬНОСТЬ. То есть один код, который сможет получить день и месяц как из даты в формате ddd mmm dd, yyyy так и из даты в формате, например, ddd/mmmm/yy, и из d!m;yyyt... И вот тут возникают проблемы.

Я вот тож думал, что это детская тема, а ты попробуй сделай :\ Тут нужен разбор по маске, а в VB такого нет и не будет... В php есть, в lua есть, хз где еще, а вот в vb нет.

Ответить

Номер ответа: 10
Автор ответа:
 Kodo



Разработчик Offline Client

ICQ: 293048085 

Вопросов: 37
Ответов: 457
 Профиль | | #10 Добавлено: 30.11.06 23:12
ps. ты же знаешь я тут сколько времени не появлялся :) Уж поверь, если бы все было так просто я бы здесь не спросил... Сегодня обсуждали эту тему с sne, так даже он не смог найти универсального решения. Тут надо гениальное и нестандартное решение :) Или какой модуль парсинга по маске красивый...

Ответить

Номер ответа: 11
Автор ответа:
 W[4Fh]LF



Вопросов: 0
Ответов: 187
 Web-сайт: hunger.ru
 Профиль | | #11
Добавлено: 01.12.06 10:50
ddd mmm dd, yyyy так и из даты в формате, например, ddd/mmmm/yy, и из d!m;yyyt...


Дай примеры дат в таких форматах, а так же во всех возможных, т.е. чем больше примеров дашь(в виде [format][example]), тем больше вероятность, что я тебе помогу.

Ответить

Номер ответа: 12
Автор ответа:
 Kodo



Разработчик Offline Client

ICQ: 293048085 

Вопросов: 37
Ответов: 457
 Профиль | | #12 Добавлено: 01.12.06 11:33
Хмм.. Ну ладно :) Если что, можешь сам себе их понагенерить:
DateString = Format(Now, DateFormat)


Ну вот, например, из реальных дат, с которыми мне приходится работать:

MM/dd/yyyy - 11/29/2006
ddd MMM dd, yyyy - Wed Oct 04, 2006
yyyy/MM/dd - 2006/11/30
MM/dd/yyyy ddd - 12/01/2006 Fri
ddd - MM/dd/yy - Thu - 11/30/06
MM.dd.yyyy - 12.09.2006
2006/11/29 (Mittwoch) - yyyy/MM/dd (dddd) (Mittwoch это среда :))

этого хватит? :)

Ответить

Номер ответа: 13
Автор ответа:
 night-roll



Вопросов: 36
Ответов: 326
 Профиль | | #13 Добавлено: 01.12.06 13:16
А действительно, в чём вопрос, если IsDate(ДАТА)?
простое ...
NumberOfDay = Day(Date)
или
NumberOfDay = Format(Date, "dd";)
не подойдёт? тогда я вообще ничего не понимаю!

Ответить

Номер ответа: 14
Автор ответа:
 Kodo



Разработчик Offline Client

ICQ: 293048085 

Вопросов: 37
Ответов: 457
 Профиль | | #14 Добавлено: 01.12.06 13:20
night-roll
А действительно, в чём вопрос


А ты не поленись и попробуй
NumberOfDay = Day("Wed Oct 04, 2006";)

или
NumberOfDay = Format("Wed Oct 04, 2006", "dd";)

прежде чем писать на форуме.
Поверь, я не такой дурак ;)

Ответить

Номер ответа: 15
Автор ответа:
 W[4Fh]LF



Вопросов: 0
Ответов: 187
 Web-сайт: hunger.ru
 Профиль | | #15
Добавлено: 01.12.06 13:25
Именно! Под все форматы, которые ты дал подходит функция Format, а если брать данные типа d!m;yyyt, то тут препятствием для Format является спецсимвол ";", дальше которого парсинг не пойдёт, но ведь перед вызовом format эти спецсимволы можно заменить, а после обработки вновь подставить.

Ответить

Страница: 1 | 2 | 3 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам