Sory about code, my email client cause some problens when copy/paste unix end lines.
About relase, I using ZF 1.5.3.

I solved my problem puting year limit on my application, tanks.

The Simplfied Code is:

date_default_timezone_set ( 'America/Sao_Paulo' );
$locale  = new Zend_Locale( 'pt_BR' );

if ( Zend_Date::isDate( '01-01-2038', 'dd-MM-YYYY', $locale ) ) {
   echo "Is Valid";
} else {
   echo "Is NOT Valid";
}



Haroldo Mitsumi Murata [K33]
----------------------------------------

Thomas Weidner escreveu:
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]


Reply via email to