GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
SPOPS::Tool::DateConvert(3) User Contributed Perl Documentation SPOPS::Tool::DateConvert(3)
 

SPOPS::Tool::DateConvert - Convert dates to objects to/from your datastore

 # Class configuration with date convertion rule and metadata
 
 my $spops = {
    class               => 'This::Class',
    isa                 => [ 'SPOPS::DBI' ],
    field               => [ 'email', 'language', 'birthtime' ],
    id_field            => 'email',
    base_table          => 'test_table',
    rules_from          => [ 'SPOPS::Tool::DateConvert' ],
    convert_date_field  => [ 'birthtime' ],
    convert_date_class  => 'Time::Piece',
    convert_date_format => '%Y-%m-%d %H:%M:%S',
 };
 SPOPS::Initialize->process({ config => { test => $spops } });
 
 my $item = This::Class->fetch(55);
 print "Birthdate field isa: ", ref( $item->{birthtime} ), "\n";
 --> Birthdate field isa: Time::Piece
 
 # Format some other way
 
 print "Birthday occurred on day ", $item->{birthtime}->strftime( '%j' ),
       "which was a ", $item->{birthtime}->strftime( '%A' ), "\n";
 
 # When creating a new object, just set the correct type of object as
 # the field value
 
 my $newborn = This::Class->new({ email     => 'foo@bar.com',
                                  language  => 'en',
                                  birthtime => Time::Piece->new });
 $newborn->save;

This SPOPS tool converts data coming from the database into a date object, and translates the date object into the proper format before it's put back into the database.

This tool uses three configuration fields:
convert_date_field (\@)
An arrayref of fields that will be converted.
If not specified or if empty no action will be taken.
convert_date_class ($)
Class for date object to be instantiated. Supported classes are:
DateTime (along with supporting parse class DateTime::Format::Strptime)
Time::Piece
Class::Date.
If not specified, 'DateTime' will be used.
convert_date_format ($)
Format (in strftime format) for date conversions. All implementations will likely use this for converting the object to a string. Some implementations (like Time::Piece and DateTime) will use this for parsing the date from the database into the date object as well.
If not specified, '%Y-%m-%d %H:%M:%S' will be used.

DateTime
Uses the DateTime::Format::Strptime and "convert_date_format" to translate the date from the database.
Uses the DateTime "strftime()" method from along with "convert_date_format" configuration to translate the date into a string.
Time::Piece
Uses the "strptime()" method and "convert_date_format" to translate the date from the database.
Uses the "strftime()" method along with "convert_date_format" configuration to translate the date into a string.
Class::Date
Uses the "new()" method to translate the date from the database.
Uses the "strftime()" method along with "convert_date_format" configuration to translate the date into a string.

If necessary, make this a factory and refactor if clauses into subclasses for the different implementations.

DateTime
DateTime::Format::Strptime
Time::Piece
Class::Date

Chris Winters <chris@cwinters.com>
2004-02-26 perl v5.28.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.