hi all, sorry if i'm reposting
why time.strptime and time.localtime returns tuple with different DST (9 item of the tuple)?
is there some of setting to fix the problem?
Python 2.2.3 (#1, May 31 2005, 11:33:52)
[GCC 2.95.4 20020320 [FreeBSD]] on freebsd4
Type "help", "copyright", "credits" or "license" for more information. import time time.strptime("2005-06-07 21:00:00", "%Y-%m-%d %H:%M:%S")
(2005, 6, 7, 21, 0, 0, 6, 1, 0) time.localtime()
(2005, 6, 7, 21, 2, 39, 1, 158, 1)
--
Best regards,
Maksim Kasimov
mailto: ka*****@i.com.ua 10 2297 http://docs.python.org/lib/module-time.html tells us the last element
is the DST flag, on your computer that applies for localtime(). To get
this with strptime() you have to tweak the %Z formatter - this is
platform specific.
Like the last poster said, use %Z. On my Mandriva Linux system I get the
following results: time.localtime()
(2005, 6, 7, 15, 7, 12, 1, 158, 1) time.strptime("2005-06-07 15:07:12 EDT", "%Y-%m-%d %H:%M:%S %Z")
(2005, 6, 7, 15, 7, 12, 1, 158, 1)
Rick
Maksim Kasimov wrote: hi all, sorry if i'm reposting
why time.strptime and time.localtime returns tuple with different DST (9 item of the tuple)? is there some of setting to fix the problem?
Python 2.2.3 (#1, May 31 2005, 11:33:52) [GCC 2.95.4 20020320 [FreeBSD]] on freebsd4 Type "help", "copyright", "credits" or "license" for more information. >>> import time >>> time.strptime("2005-06-07 21:00:00", "%Y-%m-%d %H:%M:%S") (2005, 6, 7, 21, 0, 0, 6, 1, 0) >>> time.localtime() (2005, 6, 7, 21, 2, 39, 1, 158, 1) >>>
Rick Holbert wrote: Like the last poster said, use %Z. On my Mandriva Linux system I get the following results:
time.localtime() (2005, 6, 7, 15, 7, 12, 1, 158, 1) time.strptime("2005-06-07 15:07:12 EDT", "%Y-%m-%d %H:%M:%S %Z") (2005, 6, 7, 15, 7, 12, 1, 158, 1)
does not work at all: "ValueError: format mismatch"
i've check the value of time.tzname:
('EET', 'EEST')
and get the following (again): time.strptime("2005-06-07 15:07:12 EET", "%Y-%m-%d %H:%M:%S %Z")
(2005, 6, 7, 15, 7, 12, 6, 1, 0)
--
Best regards,
Maksim Kasimov
mailto: ka*****@i.com.ua
In your case it is the EEST, as this is the DST timezone (see again: http://docs.python.org/lib/module-time.html)
** martin@ubuntu:~ $ python
** Python 2.4.1 (#2, Mar 30 2005, 21:51:10)
** [GCC 3.3.5 (Debian 1:3.3.5-8ubuntu2)] on linux2
** Type "help", "copyright", "credits" or "license" for more
information.
** >>> import time
** >>> print time.tzname
** ('CET', 'CEST')
** >>> time.strptime("2005-06-07 15:07:12 CET", "%Y-%m-%d %H:%M:%S %Z")
** (2005, 6, 7, 15, 7, 12, 1, 158, 0)
** >>> time.strptime("2005-06-07 15:07:12 CEST", "%Y-%m-%d %H:%M:%S
%Z")
** (2005, 6, 7, 15, 7, 12, 1, 158, 1)
** >>>
seems like it is not a platform specific,
i think to solve the problem i need put settings in order (in php it is php.ini file) thus i'll have a portable code.
i've check the following code on my various servers, and it gives me different results:
import time
time.tzname
time.daylight
time.strptime("2005-06-07 15:07:12", "%Y-%m-%d %H:%M:%S")
time.strptime("2005-06-07 15:07:12 EEST", "%Y-%m-%d %H:%M:%S %Z")
Python 2.3.3 (#1, Feb 28 2004, 20:35:22)
[GCC 2.95.4 20020320 [FreeBSD]] on freebsd4
Type "help", "copyright", "credits" or "license" for more information. import time time.tzname
('EET', 'EEST') time.daylight
1 time.strptime("2005-06-07 15:07:12", "%Y-%m-%d %H:%M:%S")
(2005, 6, 7, 15, 7, 12, 1, 158, -1) time.strptime("2005-06-07 15:07:12 EEST", "%Y-%m-%d %H:%M:%S %Z")
(2005, 6, 7, 15, 7, 12, 1, 158, 1)
Python 2.2.3 (#1, Oct 22 2004, 03:10:44)
[GCC 2.95.4 20020320 [FreeBSD]] on freebsd4
Type "help", "copyright", "credits" or "license" for more information. import time time.tzname
('EET', 'EEST') time.daylight
1 time.strptime("2005-06-07 15:07:12", "%Y-%m-%d %H:%M:%S")
(2005, 6, 7, 15, 7, 12, 6, 1, 0) time.strptime("2005-06-07 15:07:12 EEST", "%Y-%m-%d %H:%M:%S %Z")
(2005, 6, 7, 15, 7, 12, 6, 1, 1) wi******@hotmail.com wrote: In your case it is the EEST, as this is the DST timezone (see again: http://docs.python.org/lib/module-time.html)
** martin@ubuntu:~ $ python ** Python 2.4.1 (#2, Mar 30 2005, 21:51:10) ** [GCC 3.3.5 (Debian 1:3.3.5-8ubuntu2)] on linux2 ** Type "help", "copyright", "credits" or "license" for more information. ** >>> import time ** >>> print time.tzname ** ('CET', 'CEST') ** >>> time.strptime("2005-06-07 15:07:12 CET", "%Y-%m-%d %H:%M:%S %Z") ** (2005, 6, 7, 15, 7, 12, 1, 158, 0) ** >>> time.strptime("2005-06-07 15:07:12 CEST", "%Y-%m-%d %H:%M:%S %Z") ** (2005, 6, 7, 15, 7, 12, 1, 158, 1) ** >>>
--
Best regards,
Maksim Kasimov
mailto: ka*****@i.com.ua
The names are at least platform specific, see below the names of the
timezones on my Windows NT 4 box
*** Python 2.3.4 (#53, May 25 2004, 21:17:02) [MSC v.1200 32 bit
(Intel)] on win32
*** Type "help", "copyright", "credits" or "license" for more
information.
*** >>> import time
*** >>> print time.tzname
*** ('W. Europe Standard Time', 'W. Europe Daylight Time')
*** >>>
yes, i agree, on my WinXP it gives another values.
but my question is how to setup the python (or OS) to make it gives the same results when i call
time.strptime("2005-06-07 15:07:12", "%Y-%m-%d %H:%M:%S")
on various servers (and maybe with various OS)?
for now, i can't get it even with the same OS.
and i would like to set time string exactly as "2005-06-07 15:07:12", without "CEST", "EEST" and so on, because as you've notice before, it is different on a variuos systems wi******@hotmail.com wrote: The names are at least platform specific, see below the names of the timezones on my Windows NT 4 box
*** Python 2.3.4 (#53, May 25 2004, 21:17:02) [MSC v.1200 32 bit (Intel)] on win32 *** Type "help", "copyright", "credits" or "license" for more information. *** >>> import time *** >>> print time.tzname *** ('W. Europe Standard Time', 'W. Europe Daylight Time') *** >>>
--
Best regards,
Maksim Kasimov
mailto: ka*****@i.com.ua
It is probably the best to calculate back to UTC.
Assume "2005-06-07 15:07:12" the local time, then convert it as
follows to UTC. Use the UTC time to store/manipulate/whatever you want
to do.
import time
t = time.mktime(time.strptime("2005-06-07 15:07:12", "%Y-%m-%d
%H:%M:%S"))
print time.ctime(t)
offset = time.timezone
if time.daylight:
offset = time.altzone
t += offset
print time.ctime(t)
maybe you are right, i've searched in google groups - such a question was posted to comp.lang.python many times and i has not found (yet) the answer on "how to tune up the output of time.strptime()?" wi******@hotmail.com wrote: It is probably the best to calculate back to UTC.
Assume "2005-06-07 15:07:12" the local time, then convert it as follows to UTC. Use the UTC time to store/manipulate/whatever you want to do.
import time t = time.mktime(time.strptime("2005-06-07 15:07:12", "%Y-%m-%d %H:%M:%S"))
print time.ctime(t)
offset = time.timezone if time.daylight: offset = time.altzone t += offset print time.ctime(t)
--
Best regards,
Maksim Kasimov
mailto: ka*****@i.com.ua
Maksim Kasimov wrote: hi all, sorry if i'm reposting
why time.strptime and time.localtime returns tuple with different DST (9 item of the tuple)?
I've been bitten by the quirks in the time modules so many times
that I would advice against using it for any date handling. It's
ok for time measurement as long as you understand the differences
between time.clock and time.time on your particular platform. You
should be aware that it's just a thin wrapper around the c libs,
and they seem to disagree wildly among platforms on how things
should be done. On NT 4 for instance, the C time libs was a few
weeks off concerning when DST starts in Europe (but the win32 API
was correct), time zone names vary among platforms etc. There is
an inverse of localtime() in mktime(), but no inverse of gmtime()
etc. Yuk!
I would suggest that you either update Python to 2.4 (or 2.3) and
use the datetime module, or that you get mxDateTime if you are
stuck with 2.2. This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: Lukas Kasprowicz |
last post by:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi Folks,
My Proglem is, I get after a query on a mysql database with module MySQLdb a
tuple but I need this output from database as a string....
|
by: Jonas Galvez |
last post by:
If I have a tuple like this:
(year, month, day, hour, minute)
Is there a way to automatically generate a string like this?
"YYYY-MM-DDTHH:MM:00"
I remember seeing something about it...
|
by: Jinming Xu |
last post by:
Hello everyone,
While embedding my C++ program with Python, I am impeded by the conversion
from a Python Tuple to a C++ array. I hope to get some assistance from you
guys.
I have a sequence...
|
by: beliavsky |
last post by:
Using Python 2.4 on Windows, for me the command
print os.stat("temp.txt")
gives
1115478343 ,
which is "seconds since the epoch". How can I get the modification time
in a format such as
|
by: kpp9c |
last post by:
Hi,
I was looking at python & datetime and hoping that it would already
have
a method/func to translate time formats. I need to translate seconds to
hh:mm:ss.ms and vice versa and would like...
|
by: fff_afafaf |
last post by:
Do you know is it possible to put different kinds of tuples to one
container?
E.g. to a vector?
(The lengths of the tuples are different, and also the types in the
tuples are different..
-Is it...
|
by: Dave Rahardja |
last post by:
Is there a way to generate a series of statements based on the data members of
a structure at compile time?
I have a function that reverses the endianness of any data structure:
/// Reverse...
|
by: barronmo |
last post by:
I'm trying to get the difference in dates using the time module rather
than datetime because I need to use strptime() to convert a date and
then find out how many weeks and days until that date. ...
|
by: Daniel |
last post by:
I have a list of strings, which I need to convert into tuples. If the
string is not in python tuple format (i.e. "('one', 'two')", "("one",
'two')", etc.), then I can just make it a 1-tuple (i.e....
|
by: Charles Arthur |
last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
|
by: aa123db |
last post by:
Variable and constants
Use var or let for variables and const fror constants.
Var foo ='bar';
Let foo ='bar';const baz ='bar';
Functions
function $name$ ($parameters$) {
}
...
|
by: ryjfgjl |
last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
|
by: ryjfgjl |
last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
|
by: BarryA |
last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
|
by: Sonnysonu |
last post by:
This is the data of csv file
1 2 3
1 2 3
1 2 3
1 2 3
2 3
2 3
3
the lengths should be different i have to store the data by column-wise with in the specific length.
suppose the i have to...
|
by: Hystou |
last post by:
There are some requirements for setting up RAID:
1. The motherboard and BIOS support RAID configuration.
2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
|
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers,...
| |