Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > TIMESTAMP(12) в человеческий вид :)


Автор: Wowa 17.4.2003, 17:57
Как TIMESTAMP(12) переконвертить в что-нибудь, типа: ($year, $month, $day, $hour, $min, $ss)
?

Формат TIMESTAMP(12): 030417121049
год, месяц, число, часы, минуты, сек

Автор: Guest_Eugene 17.4.2003, 21:04
А вот что по етому поводу пишет Oreilly/perl/cookbook/ch01_02.htm

Цитата

Solution
The substr function lets you read from and write to bits of the string.

$value = substr($string, $offset, $count);
$value = substr($string, $offset);
   
substr($string, $offset, $count) = $newstring;
substr($string, $offset)        = $newtail;
The unpack function gives only read access, but is faster when you have many substrings to extract.

# get a 5-byte string, skip 3, then grab 2 8-byte strings, then the rest
($leading, $s1, $s2, $trailing) =
    unpack("A5 x3 A8 A8 A*", $data);

# split at five byte boundaries
@fivers = unpack("A5" x (length($string)/5), $string);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


ну и применимо к данной проблеме , в $string естестно надо положить тот самый TIMESTAMP(12) :
Код

($year, $month, $day, $hour, $min, $ss) = unpack("A2" x (length($string)/2), $string);



по моему так.

Автор: Wowa 17.4.2003, 22:18
Работает! Большое спасибо! smile.gif

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)