Code Comments
Programming Forum and web based access to our favorite programming groups.I have a date input field and I want to be able to handle 3/22/04, 22-mar-04, March 22, 2004, etc. I looked through the Module List and there are dozens of Date/Time routines but no way to figure out which, if any, will do what I want. Clues for me please?
Post Follow-up to this messagefishfry wrote: > I have a date input field and I want to be able to handle 3/22/04, > 22-mar-04, March 22, 2004, etc. I looked through the Module List > and there are dozens of Date/Time routines but no way to figure out > which, if any, will do what I want. No way? Of course there is. One way is to browse the descriptions at http://search.cpan.org/. > Clues for me please? http://search.cpan.org/perldoc?Date%3A%3AParse -- Gunnar Hjalmarsson Email: http://www.gunnar.cc/cgi-bin/contact.pl
Post Follow-up to this messagefishfry wrote: > I have a date input field and I want to be able to handle 3/22/04, > 22-mar-04, March 22, 2004, etc. I looked through the Module List > and there are dozens of Date/Time routines but no way to figure out > which, if any, will do what I want. No way? Of course there is. One way is to browse the descriptions at http://search.cpan.org/. > Clues for me please? http://search.cpan.org/perldoc?Date%3A%3AParse -- Gunnar Hjalmarsson Email: http://www.gunnar.cc/cgi-bin/contact.pl
Post Follow-up to this messagefishfry wrote: > I have a date input field and I want to be able to handle 3/22/04, Would this be the 22 of April in the year 2003 or the 22 of March in year 2004? And you are lucky that there are no 22 months in the year. If you would have used e.g. 05 instead in your example, then this would be 3rd of May 2004 in most parts of the world. And of course this doesn't even begin to address the complexity of any but the Gregorian calender, e.g. the Hebrew calender, the Islamic calender, the Japanese imperial calender, etc, etc. are left out. If you allow a free form text field for date entry then the values you receive will be useless. > 22-mar-04, March 22, 2004, etc. I looked through the Module List and > there are dozens of Date/Time routines but no way to figure out which, > if any, will do what I want. > > Clues for me please? Familiarize yourself with date formats that people actually use and you will notice that an automatic "detection" ends up being an automated guess. _YOU_ must define and enforce the format or people will enter dates in any of dozens of ambiguous formats where no software or human can make a safe call. You could just as well use a rand(), that's easier to do. jue
Post Follow-up to this messageIn article <BLOCKSPAMfishfry-EFAC67.03554711092004@netnews.comcast.net>,
fishfry <BLOCKSPAMfishfry@your-mailbox.com> wrote:
> I have a date input field and I want to be able to handle 3/22/04,
>22-mar-04, March 22, 2004, etc. I looked through the Module List and
>there are dozens of Date/Time routines but no way to figure out which,
>if any, will do what I want.
>
I agree with suggestions to enforce the format but you
may find Date::Manip useful for dealing with potential
variability.
For instance, if you specify "month day year", Date::Manip
handles several variants:
# perl -MDate::Manip -le 'print &ParseDate("3/22/04")'
2004032200:00:00
# perl -MDate::Manip -le 'print &ParseDate("March 22, 2004")'
2004032200:00:00
# perl -MDate::Manip -le 'print &ParseDate("mar-22-04")'
2004032200:00:00
perl -MDate::Manip -le 'print &ParseDate("03.22.04")'
2004032200:00:00
--
Charles DeRykus
Post Follow-up to this message
Show a Printable Version
Email This Page to Someone!
Receive updates to this thread
Powered by vBulletin
Copyright 2000-2006 Jelsoft Enterprises Limited.