M
Marcin Owsiany
[cc: (e-mail address removed), sergey - author of Image::EXIF]
As a part of a program I'm writing I made a module that might be
useful to
other people. Below is an excerpt from its README and POD.
Please send me your comments and suggestions before I upload it to
CPAN.
README:
| Image::EXIF:ateTime:arser
| =============================
|
| Purpose
| -------
|
| This module provides a parser for "DateTime" strings as defined in
| Exchangeable image file format for digital still cameras:
| Exif Version 2.2
| Section 4.6.4 "TIFF Revision 6.0 Attribute information"
| Subsection D. "Other Tags", DateTime
|
| Apart from parsing the strings that conform to the specification,
this
| module tries to decipher some non-compliant strings which certain
| implementations produce. Examples of supported deviations can be
| found in the unit tests for this module.
| [...]
POD:
| NAME
| Image::EXIF:ateTime:arser - parser for EXIF date/time
strings
|
| SYNOPSIS
| use Image::EXIF:ateTime:arser;
|
| my $parser = Image::EXIF:ateTime:arser->new;
| printf "%d\n", $p->parse("2009:05:05 09:17:37");
|
| produces "1241540257", if you are in America/Los_Angeles
timezone.
|
| DESCRIPTION
| While parsing standards-compliant EXIF Date/Time string is
easy, allow$B!>(B
| ing for the various ways different non-standards-compliant
implementa$B!>(B
| tions mangle these strings is neither easy nor pleasant. This
module
| encapsulates this complexity for you. It provides a parser
which takes
| an EXIF Date/Time string and returns time in "calendar time"
format,
| aka. time_t.
|
| EXPORTS
|
| Nothing.
|
| METHODS
|
|
| $p = Image::EXIF:ateTime:arser->new
| Returns a new parser object.
|
| Introduced in version 1.1.
|
| $time_t = $p->parse( $B!G(B2009:05:05 09:17:37$B!G(B )
| Takes a single argument: an EXIF Date/Time string, and
returns a
| time_t value by interpreting the string as local time.
|
| Returns undef when the string represents an unknown date/
time
| (zeros or blanks).
|
| Throws an exception if the string is not parseable.
|
| Introduced in version 1.1.
regards,
Marcin
PS: Apologies if google groups mangles the message.
As a part of a program I'm writing I made a module that might be
useful to
other people. Below is an excerpt from its README and POD.
Please send me your comments and suggestions before I upload it to
CPAN.
README:
| Image::EXIF:ateTime:arser
| =============================
|
| Purpose
| -------
|
| This module provides a parser for "DateTime" strings as defined in
| Exchangeable image file format for digital still cameras:
| Exif Version 2.2
| Section 4.6.4 "TIFF Revision 6.0 Attribute information"
| Subsection D. "Other Tags", DateTime
|
| Apart from parsing the strings that conform to the specification,
this
| module tries to decipher some non-compliant strings which certain
| implementations produce. Examples of supported deviations can be
| found in the unit tests for this module.
| [...]
POD:
| NAME
| Image::EXIF:ateTime:arser - parser for EXIF date/time
strings
|
| SYNOPSIS
| use Image::EXIF:ateTime:arser;
|
| my $parser = Image::EXIF:ateTime:arser->new;
| printf "%d\n", $p->parse("2009:05:05 09:17:37");
|
| produces "1241540257", if you are in America/Los_Angeles
timezone.
|
| DESCRIPTION
| While parsing standards-compliant EXIF Date/Time string is
easy, allow$B!>(B
| ing for the various ways different non-standards-compliant
implementa$B!>(B
| tions mangle these strings is neither easy nor pleasant. This
module
| encapsulates this complexity for you. It provides a parser
which takes
| an EXIF Date/Time string and returns time in "calendar time"
format,
| aka. time_t.
|
| EXPORTS
|
| Nothing.
|
| METHODS
|
|
| $p = Image::EXIF:ateTime:arser->new
| Returns a new parser object.
|
| Introduced in version 1.1.
|
| $time_t = $p->parse( $B!G(B2009:05:05 09:17:37$B!G(B )
| Takes a single argument: an EXIF Date/Time string, and
returns a
| time_t value by interpreting the string as local time.
|
| Returns undef when the string represents an unknown date/
time
| (zeros or blanks).
|
| Throws an exception if the string is not parseable.
|
| Introduced in version 1.1.
regards,
Marcin
PS: Apologies if google groups mangles the message.