.\" Automatically generated by Pod::Man 4.07 (Pod::Simple 3.32) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .if !\nF .nr F 0 .if \nF>0 \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "POSIX::strftime::Compiler 3pm" .TH POSIX::strftime::Compiler 3pm "2016-10-01" "perl v5.24.1" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" POSIX::strftime::Compiler \- GNU C library compatible strftime for loggers and servers .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& use POSIX::strftime::Compiler qw/strftime/; \& \& say strftime(\*(Aq%a, %d %b %Y %T %z\*(Aq,localtime): \& \& my $fmt = \*(Aq%a, %d %b %Y %T %z\*(Aq; \& my $psc = POSIX::strftime::Compiler\->new($fmt); \& say $psc\->to_string(localtime); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" POSIX::strftime::Compiler provides \s-1GNU C\s0 library compatible \fIstrftime\fR\|(3). But this module will not affected by the system locale. This feature is useful when you want to write loggers, servers and portable applications. .PP For generate same result strings on any locale, POSIX::strftime::Compiler wraps POSIX::strftime and converts some format characters to perl code .SH "FUNCTION" .IX Header "FUNCTION" .ie n .IP "strftime($fmt:String, @time)" 4 .el .IP "strftime($fmt:String, \f(CW@time\fR)" 4 .IX Item "strftime($fmt:String, @time)" Generate formatted string from a format and time. .Sp .Vb 2 \& my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(); \& strftime(\*(Aq%d/%b/%Y:%T %z\*(Aq,$sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst): .Ve .Sp Compiled codes are stored in \f(CW%POSIX::strftime::Compiler::STRFTIME\fR. This function is not exported by default. .SH "METHODS" .IX Header "METHODS" .IP "new($fmt)" 4 .IX Item "new($fmt)" create instance of POSIX::strftime::Compiler .IP "to_string(@time)" 4 .IX Item "to_string(@time)" Generate formatted string from time. .SH "FORMAT CHARACTERS" .IX Header "FORMAT CHARACTERS" POSIX::strftime::Compiler supports almost all characters that \s-1GNU\s0 \fIstrftime\fR\|(3) supports. But \f(CW%E[cCxXyY]\fR and \f(CW%O[deHImMSuUVwWy]\fR are not supported, just remove E and O prefix. .SH "A RECOMMEND MODULE" .IX Header "A RECOMMEND MODULE" .IP "Time::TZOffset" 4 .IX Item "Time::TZOffset" If Time::TZOffset is available, P::s::Compiler use it for more faster time zone offset calculation. I strongly recommend you to install this if you use \f(CW%z\fR. .SH "PERFORMANCE ISSUES ON WINDOWS" .IX Header "PERFORMANCE ISSUES ON WINDOWS" Windows and Cygwin and some system may not support \f(CW%z\fR and \f(CW%Z\fR. For these system, POSIX::strftime::Compiler calculate time zone offset and find zone name. This is not fast. If you need performance on Windows and Cygwin, please install Time::TZOffset .SH "SEE ALSO" .IX Header "SEE ALSO" .IP "POSIX::strftime::GNU" 4 .IX Item "POSIX::strftime::GNU" POSIX::strftime::Compiler is built on POSIX::strftime::GNU::PP code .IP "\s-1POSIX\s0" 4 .IX Item "POSIX" .PD 0 .IP "Apache::LogFormat::Compiler" 4 .IX Item "Apache::LogFormat::Compiler" .PD .SH "LICENSE" .IX Header "LICENSE" Copyright (C) Masahiro Nagano. .PP Format specification is based on \fIstrftime\fR\|(3) manual page which is a part of the Linux man-pages project. .PP This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. .SH "AUTHOR" .IX Header "AUTHOR" Masahiro Nagano