Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #6059 > unrolled thread
| Started by | loial <jldunn2000@gmail.com> |
|---|---|
| First post | 2011-05-23 03:32 -0700 |
| Last post | 2011-05-23 23:33 +1100 |
| Articles | 4 — 2 participants |
Back to article view | Back to comp.lang.python
Python 2.6 and timezones loial <jldunn2000@gmail.com> - 2011-05-23 03:32 -0700
Re: Python 2.6 and timezones Daniel Kluev <dan.kluev@gmail.com> - 2011-05-23 21:48 +1100
Re: Python 2.6 and timezones loial <jldunn2000@gmail.com> - 2011-05-23 04:56 -0700
Re: Python 2.6 and timezones Daniel Kluev <dan.kluev@gmail.com> - 2011-05-23 23:33 +1100
| From | loial <jldunn2000@gmail.com> |
|---|---|
| Date | 2011-05-23 03:32 -0700 |
| Subject | Python 2.6 and timezones |
| Message-ID | <46c24750-ac9b-4d75-835c-5403ff2ea959@d28g2000yqf.googlegroups.com> |
Does python have an equivalent of the java Timezone object? I need to be able to get offsets for timezones (only U.S. time zones at the moment)
[toc] | [next] | [standalone]
| From | Daniel Kluev <dan.kluev@gmail.com> |
|---|---|
| Date | 2011-05-23 21:48 +1100 |
| Message-ID | <mailman.1971.1306147689.9059.python-list@python.org> |
| In reply to | #6059 |
On Mon, May 23, 2011 at 9:32 PM, loial <jldunn2000@gmail.com> wrote: > Does python have an equivalent of the java Timezone object? > > I need to be able to get offsets for timezones (only U.S. time zones > at the moment) Depends on what exactly do you want. If you need to convert timezone name into current offset, you should use [1] or [2]. If you just need to handle known offsets for datetime objects, there is tzinfo class in datetime module, [3]. [1] http://pypi.python.org/pypi/PosixTimeZone/0.9.4 [2] http://pypi.python.org/pypi/pytz/2011g [3] http://docs.python.org/library/datetime.html#tzinfo-objects -- With best regards, Daniel Kluev
[toc] | [prev] | [next] | [standalone]
| From | loial <jldunn2000@gmail.com> |
|---|---|
| Date | 2011-05-23 04:56 -0700 |
| Message-ID | <932c351d-0dbd-4d5b-8151-e695b4b83fe1@z37g2000vbl.googlegroups.com> |
| In reply to | #6062 |
Thanks...but being a python newbie I am struggling to understand how
to do this.
How can I use tzinfo to do the equivalent of what I do in Java, which
is :
TimeZone tz1 = TimeZone.getDefault();
long localOffset = tz1.getOffset(date.getTime());
TimeZone tz2 = TimeZone.getTimeZone("EST");
long remoteOffset = tz2.getOffset(date.getTime());
Any help appreciated
On May 23, 11:48 am, Daniel Kluev <dan.kl...@gmail.com> wrote:
> On Mon, May 23, 2011 at 9:32 PM, loial <jldunn2...@gmail.com> wrote:
> > Does python have an equivalent of the java Timezone object?
>
> > I need to be able to get offsets for timezones (only U.S. time zones
> > at the moment)
>
> Depends on what exactly do you want. If you need to convert timezone
> name into current offset, you should use [1] or [2].
> If you just need to handle known offsets for datetime objects, there
> is tzinfo class in datetime module, [3].
>
> [1]http://pypi.python.org/pypi/PosixTimeZone/0.9.4
> [2]http://pypi.python.org/pypi/pytz/2011g
> [3]http://docs.python.org/library/datetime.html#tzinfo-objects
>
> --
> With best regards,
> Daniel Kluev
[toc] | [prev] | [next] | [standalone]
| From | Daniel Kluev <dan.kluev@gmail.com> |
|---|---|
| Date | 2011-05-23 23:33 +1100 |
| Message-ID | <mailman.1975.1306154023.9059.python-list@python.org> |
| In reply to | #6069 |
On Mon, May 23, 2011 at 10:56 PM, loial <jldunn2000@gmail.com> wrote:
> Thanks...but being a python newbie I am struggling to understand how
> to do this.
>
> How can I use tzinfo to do the equivalent of what I do in Java, which
> is :
>
> TimeZone tz1 = TimeZone.getDefault();
>
> long localOffset = tz1.getOffset(date.getTime());
>
> TimeZone tz2 = TimeZone.getTimeZone("EST");
>
> long remoteOffset = tz2.getOffset(date.getTime());
>
>>> from pytz import timezone, FixedOffset
>>> import time
>>> from datetime import datetime
>>> local_tz = FixedOffset(-time.timezone/60)
time.timezone returns local timezone in seconds and negative sign.
FixedOffset converts it into tzinfo object.
>>> now = datetime.now()
>>> local_tz.utcoffset(now)
datetime.timedelta(0, 36000)
utcoffset() returns timedelta object as offset. It requires datetime
object as first parameter due to weird API of base tzinfo class, but
it is not used in calculation, and you can pass any other object,
including None instead, like `local_tz.utcoffset(None)`
>>> remote_tz = timezone("EST")
>>> remote_tz.utcoffset(now)
datetime.timedelta(-1, 68400)
You can add or substract these timedelta objects directly from
datetime objects or use astimezone():
>>> now = datetime.now(local_tz)
>>> now
datetime.datetime(2011, 5, 23, 22, 41, 48, 398685, tzinfo=pytz.FixedOffset(600))
>>> now.astimezone(remote_tz)
datetime.datetime(2011, 5, 23, 7, 41, 48, 398685, tzinfo=<StaticTzInfo 'EST'>)
--
With best regards,
Daniel Kluev
[toc] | [prev] | [standalone]
Back to top | Article view | comp.lang.python
csiph-web