Форум
Написать нам
  • Страница 1 из 1
  • 1
Модератор форума: as-master  
Перекодировка формата данных (дата и время)
EagleSHДата: Вторник, 04 Августа 2009, 18:59 | Сообщение # 1
Поднаторевший
Группа: Проверенные
Сообщений: 106
Репутация: 0
Награды: 0
Статус: Offline
Подскажите господа простое решение:

есть данные: "1 April 2009 9:25"
нужно привести в вид: "20090401092500"

 
YURIYДата: Вторник, 04 Августа 2009, 20:39 | Сообщение # 2
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Рабиваем по пробелу строку на части (GetArrayItem), выбираем нужные данные и приводим к желаемому виду.

Для удобства составить массив с названием каждого месяца и работать с ним при парсинге.

P. S. Я собственно опять не вижу попыток автора решить задачу.



Вечная память Андрею Сергееву!
 
EagleSHДата: Вторник, 04 Августа 2009, 21:37 | Сообщение # 3
Поднаторевший
Группа: Проверенные
Сообщений: 106
Репутация: 0
Награды: 0
Статус: Offline
Quote (YURIY)
Я собственно опять не вижу попыток автора решить задачу.

всмысле? и почему "опять"?

Добавлено (04 Август 2009, 21:37)
---------------------------------------------
сделал, спасибо за подсказку.

Code
datebank$='1 April 2009 9:25'
datebank$=datebank$+' '
datefinal$=''
bank$=' '
ArrayItem$ = GetArrayItem(datebank$,bank$,3)
datefinal$=datefinal$+ArrayItem$
ArrayItem$ = GetArrayItem(datebank$,bank$,2)
If (ArrayItem$='January') Then
   datefinal$=datefinal$+'01'
End
If (ArrayItem$='February') Then
   datefinal$=datefinal$+'02'
End
If (ArrayItem$='March') Then
   datefinal$=datefinal$+'03'
End
If (ArrayItem$='April') Then
   datefinal$=datefinal$+'04'
End
If (ArrayItem$='May') Then
   datefinal$=datefinal$+'05'
End
If (ArrayItem$='June') Then
   datefinal$=datefinal$+'06'
End
If (ArrayItem$='July') Then
   datefinal$=datefinal$+'07'
End
If (ArrayItem$='August') Then
   datefinal$=datefinal$+'08'
End
If (ArrayItem$='September') Then
   datefinal$=datefinal$+'09'
End
If (ArrayItem$='October') Then
   datefinal$=datefinal$+'10'
End
If (ArrayItem$='November') Then
   datefinal$=datefinal$+'11'
End
If (ArrayItem$='December') Then
   datefinal$=datefinal$+'12'
End
ArrayItem$ = GetArrayItem(datebank$,bank$,1)
If (VAL(ArrayItem$)<10) Then
   datefinal$=datefinal$+'0'+ArrayItem$
Else
   datefinal$=datefinal$+ArrayItem$
End
time$ = GetArrayItem(datebank$,bank$,4)+':'
bank$=':'
ArrayItem$ = GetArrayItem(time$,bank$,1)
If (VAL(ArrayItem$)<10) Then
   datefinal$=datefinal$+'0'+ArrayItem$
Else
   datefinal$=datefinal$+ArrayItem$
End
ArrayItem$ = GetArrayItem(time$,bank$,2)
If (VAL(ArrayItem$)<10) Then
   datefinal$=datefinal$+'0'+ArrayItem$
Else
   datefinal$=datefinal$+ArrayItem$
End
datefinal$=datefinal$+'00'
 
YURIYДата: Вторник, 04 Августа 2009, 23:05 | Сообщение # 4
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Quote (EagleSH)
всмысле? и почему "опять"?

Кода не вижу :) "Опять" - в последнее время некоторые стали так делать просто. Не обязательно к тебе относится.

Quote (EagleSH)
сделал, спасибо за подсказку.

Ну вот, молодец ;) Код, конечно, можно немного укоротить, но смысл правильно понят.



Вечная память Андрею Сергееву!
 
Alex3AДата: Вторник, 04 Августа 2009, 23:06 | Сообщение # 5
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Quote (EagleSH)
есть данные: "1 April 2009 9:25"
нужно привести в вид: "20090401092500"

Входные данные строка или текущее время?
 
YURIYДата: Среда, 05 Августа 2009, 00:18 | Сообщение # 6
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Quote (Alex3A)
или текущее время?

Я тоже хотел было спросить, но сомневаюсь, что это. Тогда бы задача была элементарной.



Вечная память Андрею Сергееву!
 
  • Страница 1 из 1
  • 1
Поиск: