If you strftime to show the hour and minute too, you will see as I previously said it is showing you the time in UTC (as determined by how many hours is it out).
I made a test with date 2009/05/07 using <dtml-var "fecha.timezone" > -- dmYzZ=<dtml-var fecha fmt="%d/%m/%Y %z %Z"> -- c=<dtml-var fecha fmt="%c"> -- x<dtml-var fecha fmt="%x"> -- X<dtml-var fecha fmt="%X"> and show this <bound )="" 07="" 05="" 2009="" datetime(="" of="" datetime.timezone="" method=""> -- dmYzZ=06/05/2009 -- c=05/06/09 19:00:00 -- x05/06/09 -- X19:00:00</bound> here I see what you said me, the hour is gmt-0500. If add in zope.conf <environment> TZ America/Mexico_City </environment> or in runzope.bat @set TZ=America/Mexico_City nothing change, render the same what before add TZ now, how I can show the correct date? help please I use MS Sql Server 2000 with field smalldatetime I never used before timezone.