PERL: БИБЛИОТЕКА ПРОГРАММИСТА



PERL: БИБЛИОТЕКА ПРОГРАММИСТА - стр. 109


use POSIX qw(strftime),

use Time    Local

$time = timelocal(50,   45    3,   18    0,   73),

print    Scalar localtime gives      ,   scalar(localtime($time))      \n ,

Scalar   localtime   gives:   Thu   Jan   18   03:45:50   1973

Разумеется, дата и время для localtime должны исчисляться в секундах с нача­ла эпохи. Функция POSIX strftime получает набор компонентов полного време­ни и форматную строку, аналогичную pnntf, и возвращает также строку. Поля в выходной строке задаются директивами %. Полный список директив приведен в документации по strftime для вашей системы. Функция strftime ожидает, что отдельные компоненты даты/времени принадлежат тем же интервалам, что и зна­чения, возвращаемые localtime:

use POSIX qw(strftime),

use Time Local,

$time = timelocal(50, 45 3, 18, 0, 73),

print strftime gives  , strftime( %A %D , localtime($time))  \n ,

strftime gives: Thursday 01/18/73

При использовании POSIX • strftime все значения выводятся в соответствии с национальными стандартами. Так, во Франции ваша программа вместо "Sunday" выведет "Dimanche". Однако учтите: интерфейс Perl к функции strftime моду­ля POSIX всегда преобразует дату в предположении, что она относится к текуще­му часовому поясу.

Если функция strftime модуля POSIX недоступна, у вас всегда остается вер­ный модуль Date::Manip, описанный в рецепте 3.6.

use Date    Manip qw(ParseDate UnixDate), $date = ParseDate(  18 Jan  1973,   3 45 50 ),


3.9. Таймеры высокого разрешения    107

$datestr = UmxOate($date,     %а %Ь %е %Н %М %S %г %У ),     # скалярный контекст print    Date    Manip gives    $datestr\n , Date::Mamp   gives:   Thu   Jan   18   03:45:50  GMT   1973

!> Смотри также--------------------------------------------------------------------------------------------

Описание функции gmtime и localtime в perlfunc(l); perllocale(l); man-страшще strftime(3) вашей системы; документация по модулям POSIX и Date::Manip cCPAN.

3.9. Таймеры высокого разрешения




Содержание  Назад  Вперед