[Ruby] дата-время -> to unixtime

Eugene Scripnik Eugene.Scripnik at itgrp.net
Tue Feb 11 19:35:53 MSK 2003


vic ismakaev wrote:
> Есть у меня две переменных типа date & time
> a="2003-02-11"
> b="18:00:00"
> Теперь я хочу преобразовать их в форму типа unixtime.
> Кто-нибудь может поделиться соображениями по поводу наиболее быстрого способа?
> 
> Пока у меня ничего другого на ум не приходит, кроме как разбивать их на массив 
> и прогонять через Time.local(....).to_i.
> Но раскрчивать их на массив - слишком дорогая операция,как мне кажется.
> 
> Что нибудь попроще/поизящнее/пошустрее есть?
> 
Посмотри на parsedate.rb, time.rb в стандартной библиотеке, но насколько 
я помню, они все равно разбивают дату на части внутри и создают объект 
класса Time.

Что касается split, то он работает довольно быстро. Для такого формата 
как у тебя можно написать, что-то вроде:
args = date.split( '-' ) + time.split( ':' )
unixtime = Time.local( *args ).to_i




More information about the Ruby mailing list