I think, if format not specify timezone, this shoud not verify it.
This is not true.
A date/timestamp always include a timezone EXCEPT you specify UTC or GMT as
timezone.
If you dont specify one, it will detect it automatically.
When you have problems please try always with the latest available release.
When this does not help, please add a issue to jira adding description, and
reproducable code so we can fix the problem.
Greetings
Thomas Weidner, I18N Team Leader, Zend Framework
http://www.thomasweidner.com
----- Original Message -----
From: "Haroldo MM" <[EMAIL PROTECTED]>
To: "ZF General List" <[email protected]>
Sent: Tuesday, August 05, 2008 4:37 PM
Subject: [fw-general] Zend_Date Problems
Hi!
I new here, and not speak english very well.
So, I have some problems using Zend_Date, i don't know
but year 2038 is not valid, i think some related to timestamp
limit or locate, or I not using Zend_Date correct way.
CODE:
//date_default_timezone_set ( 'America/New_York' );
//$locale = new Zend_Locale( 'en_US' );
date_default_timezone_set ( 'America/Sao_Paulo' );
$locale = new Zend_Locale( 'pt_BR' );
function isValidDate( $value, $locale ) {
if ( Zend_Date::isDate( $value, 'MM-dd-yyyy', $locale ) ) echo
"$value: Is Valid <br/>";
else echo "$value: Is NOT Valid <br/>";
}
isValidDate( '01-01-2008', $locale ); // Return 01-01-2008: Is Valid
isValidDate( '01-01-2020', $locale ); // Return 01-01-2020: Is Valid
isValidDate( '01-01-2037', $locale ); // Return 01-01-2037: Is Valid
isValidDate( '01-01-2038', $locale ); // Return 01-01-2038: Is NOT Valid
isValidDate( '01-01-2039', $locale ); // Return 01-01-2039: Is Valid
isValidDate( '01-01-3000', $locale ); // Return 01-01-3000: Is Valid
isValidDate( '01-01-0001', $locale ); // Return 01-01-0001: Is Valid
-----------
When I change locale and time zone to en_US:America/New_York, year 2038
become valid, I make tests changing format 'MM-dd-yyyy' to my reginal
format 'dd-MM-yyyy', or switching 'y' to 'Y', and still get problem.
Another thing I want know, is there some option to make Zend_Date
not 'try' detect time zone from date string, this generate some warnings
because of @. I use error_handler to get errors, and when my application
go to production, normaly I set display_errors off, and send errors by
email.
CODE:
$zDate = new Zend_Date('01.01.2008', 'dd.MM.yyyy', 'en_US');
print $zDate->getIso();
//
//[Warning]Zend\Date\DateObject.php:1016 timezone_open(): Unknown or bad
timezone (2009)
//[Cause] if ([EMAIL PROTECTED]($zone)) { //
-----------
I think, if format not specify timezone, this shoud not verify it.
Thanks.
--
Haroldo Mitsumi Murata [K33]