|
Как мне валидную строку с дата-время мувнуть в формат Access #mm\/dd\/yyyy hh:mm:ss# ?
|
|||
---|---|---|---|
#18+
В VB6 я использовал: Код: vbnet 1. 2. 3. 4. 5. 6.
Здесь Format этого не умеет. FormatDateTime в данном случае не катит. Работаем со строками на входе и на выходе. regionalDateTime - это например DateSerial() & " " & TimeSerial() но не всегда, но всегда корректная строка для которой IsDate возвращает True (при текущих нац.настройках системы), т.е. например на русской системе: "12.04.15 15:52:03" на выходе должно быть "#04\/12\/1915 15:52:03#" Если только DateTime.ToString Method (String) ??? Но мне удобнее работать со String на входе. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2015, 05:40 |
|
Как мне валидную строку с дата-время мувнуть в формат Access #mm\/dd\/yyyy hh:mm:ss# ?
|
|||
---|---|---|---|
#18+
Ну вроде вот так удалось извратиться: Код: vbnet 1. 2. 3. 4. 5. 6.
Надеюсь что это тоже самое. (В .Net2 тоже фурычит) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2015, 05:52 |
|
Как мне валидную строку с дата-время мувнуть в формат Access #mm\/dd\/yyyy hh:mm:ss# ?
|
|||
---|---|---|---|
#18+
Чет фигово после полудня стало: Код: vbnet 1. 2. 3. 4.
Код из первого поста, при исполнении на VB6 такой фигни не лепит. Че делать? Идея как раз в том, что я закладываюсь на нац. настройки, неважно китайские они или японские. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2015, 13:48 |
|
Как мне валидную строку с дата-время мувнуть в формат Access #mm\/dd\/yyyy hh:mm:ss# ?
|
|||
---|---|---|---|
#18+
Код: vbnet 1. 2. 3. 4. 5. 6. 7.
Похоже, или ненадежно? Второй параметр (Culture) добавлять не рискую, нужно чтоб брал из системы. На вход всегда подается строка дата+пробел+время в тек. национальном формате ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2015, 14:12 |
|
Как мне валидную строку с дата-время мувнуть в формат Access #mm\/dd\/yyyy hh:mm:ss# ?
|
|||
---|---|---|---|
#18+
regionalDateTime спарсить в нормальный тип DateTime, и в акссесс передавать параметром не пробовали? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2015, 14:23 |
|
Как мне валидную строку с дата-время мувнуть в формат Access #mm\/dd\/yyyy hh:mm:ss# ?
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныregionalDateTime спарсить в нормальный тип DateTime, и в акссесс передавать параметром не пробовали? +1... либо при конвертации в строку использовать всегда InvariantCulture (да простит меня Аллах - сам так делал)... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2015, 14:35 |
|
Как мне валидную строку с дата-время мувнуть в формат Access #mm\/dd\/yyyy hh:mm:ss# ?
|
|||
---|---|---|---|
#18+
Ну, я бы предпочел не менять логику описанную выше. А этой логике соответствует второй параметр CultureInfo.CurrentCulture , либо его отсутствие: DateTime.ToString - метод (String)Этот метод использует сведения о форматировании, полученные из данных о языке и региональных параметрах. Для получения дополнительной информации см. CurrentCulture. Я просто не доразобрался с .Net-фичей что hh-это 12-часовой формат, а HH - 24-часовой: Настраиваемый описатель формата "HH" Исходя из этого приведенный мною крайний вариант таки правильный. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2015, 15:07 |
|
Как мне валидную строку с дата-время мувнуть в формат Access #mm\/dd\/yyyy hh:mm:ss# ?
|
|||
---|---|---|---|
#18+
Дмитрий77Исходя из этого приведенный мною крайний вариант таки правильный. Нет. Как выше уже писали, правильный вариант - использовать запросы с параметром. Вот Вы сейчас потратили время на выяснение того, что Format с нужным форматированием все же есть. Потому что "так в Дмитрий77В VB6 я использовал: А вот если бы сразу, еще в VB6, использовали параметры, то сейчас все бы сразу и заработало. Когда Вы будете переходить с Access на, допустим, Oracle или MS SQL - у вас опять возникнут проблемы, потому что там нет формата ДатыВремени "#04/12/1915 15:52:03#" ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2015, 09:42 |
|
Как мне валидную строку с дата-время мувнуть в формат Access #mm\/dd\/yyyy hh:mm:ss# ?
|
|||
---|---|---|---|
#18+
Cat2, М.б. ты и прав, но "как в VB6" устойчиво работало несколько лет без претензий со стороны юзеров (а их у меня много в разных нац. стандартах). А вот когда я поначалу "чего-то там парсил", то претензии были, вплоть до крашей из-за даты/времени. Идея в том, что для отображения я всегда воспроизвожу нац. формат системы, либо это DateSerial+ пробел+ TimeSerial (это когда мне известны все компоненты или строка на входе в заранее известном формате) либо это DateToString () часто неявно ,напр. когда я достаю "дату" из Access либо напр. Now->ToString А имеющуюся (всегда правильную для данного компа) строку я всегда могу конвертануть форматами в чего надо, в частности в аксесовский #MM\/dd\/yyyy HH:mm:ss#. Cat2Когда Вы будете переходить с Access на, допустим, Oracle или MS SQL - у вас опять возникнут проблемы, Допустим. Но не факт что буду. Если буду, то и будем решать. Нельзя заниматься всеми проблемами сразу (включая предполагаемые в будущем). P.S. Ну, и я не использую Access как таковой, я использую Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Причем второго провайдера я заложил в .Net исключительно для x64 тестов, но продакшн однозначно будет 32-битный, к сожалению на x64 нет такой необходимой штуки как Код: vbnet 1. 2. 3.
А время релаксации в 5 сек. при отсутствии возможности обновить кэш меня не устраивает. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2015, 11:23 |
|
|
start [/forum/topic.php?fid=20&gotonew=1&tid=1401674]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
9ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 153ms |
0 / 0 |