我有时间了.我想要那些日子,小时和分钟 - 无论是作为元组还是字典......我都不会被激怒.
多年来我必须用十几种语言做了十几次这样的事情,但Python通常对一切都有一个简单的答案,所以我想在破坏一些令人作呕的简单(但冗长)数学之前我会问这里.
Fooz先生提出了一个很好的观点.
我正在处理"列表"(有点像ebay列表),其中每个都有一个持续时间.我正试图找到剩下的时间when_added + duration - now
我是否正确地说这不会导致夏令时?如果没有,添加/减去一小时的最简单方法是什么?
如何增加日期时间?
for i in range(1, 35)
date = datetime.datetime(2003, 8, i)
print(date)
Run Code Online (Sandbox Code Playgroud)
但我需要正确地经历数月和数年?有任何想法吗?
我有一个python脚本,使用此调用以YYYY-MM-DD格式获取昨天的日期:
str(date.today() - timedelta(days=1)))
Run Code Online (Sandbox Code Playgroud)
它大部分时间都可以工作,但是当脚本在今天早上运行时2013-03-11 0:35 CDT它返回"2013-03-09"而不是"2013-03-10".
大概是夏令时(从昨天开始)应该归咎于.我想办法timedelta(days=1)实现减去24小时,前24小时2013-03-11 0:35 CDT是2013-03-09 23:35 CST,这导致的结果"2013-03-09".
那么在python中获取昨天日期的DST安全方法是什么?
更新: 在bukzor指出我的代码应该正常工作之后,我回到脚本并确定它没有被使用.它设置了默认值,但是包装器shell脚本显式设置了日期.所以bug在shell脚本中,而不是python脚本.
现在,我可以这样做:
now = datetime.datetime.now()
Run Code Online (Sandbox Code Playgroud)
我怎么会在24小时前得到的?
now - 24 hrs. ?
Run Code Online (Sandbox Code Playgroud) 可能重复:
如何从python日期中减去一天?
我有一组文件,我按日期,year_month_day.txt格式保存.我需要打开前一天的文本文件进行一些处理.如何在python中找到前一天的日期?
我有以下方法:
# last_updated is a datetime() object, representing the last time this program ran
def time_diff(last_updated):
day_period = last_updated.replace(day=last_updated.day + 1,
hour=1,
minute=0,
second=0,
microsecond=0)
delta_time = day_period - last_updated
hours = delta_time.seconds // 3600
# make sure a period of 24hrs have passed before shuffling
if hours >= 24:
print "hello"
else:
print "do nothing"
Run Code Online (Sandbox Code Playgroud)
我想知道从那以后24小时过去了last_updated,我怎么能这样做last_updated呢?
我有2个具有该类型的时间值datetime.time.我想找到他们的不同之处.显而易见的事情是t1 - t2,但这不起作用.它适用于类型的对象,datetime.datetime但不适用于datetime.time.那么最好的方法是什么?
在Python中,给定一个日期,我如何找到前一个工作日?(工作日是周一至周五.我不关心假期)
Good evening chaps,
I would like to write a script where I give python a number of days (let s call it d) and it gives me the date we were d days ago.
I am struggling with the module datetime:
import datetime
tod = datetime.datetime.now()
d = timedelta(days = 50)
a = tod - h
Type Error : unsupported operand type for - : "datetime.timedelta" and
"datetime.datetime"
Run Code Online (Sandbox Code Playgroud)
Thanks for your help
我想从文件的时间戳中减去n天,但它似乎不起作用.我看过这篇文章,我觉得我很接近.
这是我的代码的摘录:
import os, time
from datetime import datetime, timedelta
def processData1( pageFile ):
f = open(pageFile, "r")
page = f.read()
filedate = time.strftime('%m/%d/%Y', time.gmtime(os.path.getmtime(pageFile)))
print filedate
end_date = filedate - datetime.timedelta(days=10)
print end_date
Run Code Online (Sandbox Code Playgroud)
打印filedate有效,因此可以从文件中正确读取日期.这是减法位似乎没有用.
期望的输出:如果filedate是06/11/2013,print end_date应该屈服06/01/2013.