Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #24887
| Path | csiph.com!usenet.pasdenom.info!weretis.net!feeder1.news.weretis.net!feeder.erje.net!newsfeed.xs4all.nl!newsfeed6.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail |
|---|---|
| Return-Path | <vlastimil.brom@gmail.com> |
| X-Original-To | python-list@python.org |
| Delivered-To | python-list@mail.python.org |
| X-Spam-Status | OK 0.001 |
| X-Spam-Evidence | '*H*': 1.00; '*S*': 0.00; 'output': 0.04; 'true,': 0.04; 'case.': 0.05; '(using': 0.07; 'incompatible': 0.07; 'alternatives': 0.09; 'formatted': 0.09; 'string)': 0.09; 'timestamps': 0.09; 'advance': 0.10; 'def': 0.10; 'assumed,': 0.16; 'separator,': 0.16; 'subject:values': 0.16; 'values?': 0.16; 'code,': 0.18; 'input': 0.18; 'equivalent': 0.20; 'mostly': 0.20; 'all,': 0.21; 'import': 0.21; 'received:209.85.214.174': 0.21; 'libraries': 0.22; 'simpler': 0.22; "i'd": 0.22; 'minutes.': 0.23; 'solutions.': 0.23; 'seems': 0.23; 'possibility': 0.27; 'i.e.': 0.27; 'object,': 0.27; 'message-id:@mail.gmail.com': 0.27; "doesn't": 0.28; 'probably': 0.29; 'skip:( 40': 0.30; 'basic': 0.30; 'function': 0.30; 'code': 0.31; 'print': 0.32; 'to:addr :python-list': 0.33; 'received:google.com': 0.34; 'thanks': 0.34; 'subject:?': 0.35; 'received:209.85': 0.35; 'there': 0.35; 'add': 0.36; 'enough': 0.36; 'possible': 0.37; 'one,': 0.37; '(for': 0.37; 'rather': 0.37; 'received:209': 0.37; 'some': 0.38; 'to:addr:python.org': 0.39; 'received:209.85.214': 0.39; 'where': 0.40; 'skip:" 10': 0.40; 'header:Received:5': 0.40; 'skip:a 30': 0.60; 'leading': 0.61; 'first': 0.61; 'more': 0.63; 'hours': 0.66; '(is': 0.84; '9.15': 0.84; 'notion': 0.84 |
| DKIM-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=LzPq6YN221JL16Wt31M9wIDMWPibnJtjjuZ6edTfrsU=; b=Y/CvNlr4PJ6g3OMOxqvdMlgUaYzqhUBXgJopu8/Uo8+FAC9GhZSkMDkjR6Ju/319s4 xhgzonP69xkq9qvysA92GwVuqlr5BxOO2wXA7YpU9LOFuAhOLi9DnWGii+IgGyw9iaBR CHWfQe7oscIwuI4yIlKoGcIna/rpqeUCI/vMpfrj0fthT5bUBqPx6t//2FPw/WMLfnmW VdLxKfz1Oll4XyFXOKYZBJddUbqI4tKf27rOdhwz6fd7A1wsRN43darHzUJIPpHBGIcu cahBAeRjoRV7A2U0LLF04EVqzRxZrC6NQSW6i7ZC4etEtdq5CwGvKPomL8mnAdd2qWRg G2gA== |
| MIME-Version | 1.0 |
| Date | Thu, 5 Jul 2012 02:29:10 +0200 |
| Subject | simpler increment of time values? |
| From | Vlastimil Brom <vlastimil.brom@gmail.com> |
| To | python-list@python.org |
| Content-Type | text/plain; charset=ISO-8859-1 |
| X-BeenThere | python-list@python.org |
| X-Mailman-Version | 2.1.12 |
| Precedence | list |
| List-Id | General discussion list for the Python programming language <python-list.python.org> |
| List-Unsubscribe | <http://mail.python.org/mailman/options/python-list>, <mailto:python-list-request@python.org?subject=unsubscribe> |
| List-Archive | <http://mail.python.org/pipermail/python-list> |
| List-Post | <mailto:python-list@python.org> |
| List-Help | <mailto:python-list-request@python.org?subject=help> |
| List-Subscribe | <http://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.1803.1341448153.4697.python-list@python.org> (permalink) |
| Lines | 50 |
| NNTP-Posting-Host | 2001:888:2000:d::a6 |
| X-Trace | 1341448153 news.xs4all.nl 6934 [2001:888:2000:d::a6]:37041 |
| X-Complaints-To | abuse@xs4all.nl |
| Xref | csiph.com comp.lang.python:24887 |
Show key headers only | View raw
Hi all,
I'd like to ask about the possibilities to do some basic manipulation
on timestamps - such as incrementing a given time (hour.minute -
string) by some minutes.
Very basic notion of "time" is assumed, i.e. dateless,
timezone-unaware, DST-less etc.
I first thought, it would be possible to just add a timedelta to a
time object, but, it doesn't seem to be the case.
The code I came up with (using time and datetime modules) seems rather
convoluted and I would like to ask about some possible more
straightforward alternatives I missed.
The equivalent function (lacking validation) without the (date)time
libraries seems simple enough (for this limited and individual task).
Although it is probably mostly throw-away code, which seems to do what
I need, I'd be interested in better/more elegant... solutions.
# # #
import time
import datetime
import re
print re.sub(r"^0","", (datetime.datetime(*list(time.strptime("8.45",
"%H.%M"))[:6]) + datetime.timedelta(minutes=30)).strftime("%H.%M"))
# 9.15
# # # # # # # # #
def add_minutes(hour_min_str, separator=".", minutes_to_add=0):
h, m = [int(s) for s in hour_min_str.split(separator)]
sum_minutes = h * 60 + m + minutes_to_add
h, m = divmod(sum_minutes, 60)
h = h % 24
return "%s%s%s" % (h, separator, m)
print add_minutes(hour_min_str="8.45", separator='.', minutes_to_add=30)
# 9.15
# # # # # # # # #
Is it true, that timedelta cannot be used with dateless time values?
(Is there some other possibility than the current one, where strptime
actually infers 1. 1. 1900?)
Is there some simpler way to adapt the incompatible output of strptime
as the input of datetime?
Is it possible to get one-digit hours formatted without the leading zero?
Thanks in advance for any suggestions or remarks;
regards,
Vlastimil Brom
Back to comp.lang.python | Previous | Next — Next in thread | Find similar | Unroll thread
simpler increment of time values? Vlastimil Brom <vlastimil.brom@gmail.com> - 2012-07-05 02:29 +0200
Re: simpler increment of time values? rurpy@yahoo.com - 2012-07-05 07:11 -0700
Re: simpler increment of time values? rurpy@yahoo.com - 2012-07-05 07:11 -0700
Re: simpler increment of time values? John Nagle <nagle@animats.com> - 2012-07-05 10:34 -0700
Re: simpler increment of time values? rurpy@yahoo.com - 2012-07-05 11:15 -0700
Re: simpler increment of time values? Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2012-07-06 02:34 +0000
csiph-web