我正在制作一个简单的程序来告诉个人他们活了多久.
我知道如何获得当前日期,并获得他们的生日.唯一的问题是我无法减去这两个,我知道一种减去两个日期的方法,但不幸的是它不包括小时,分钟或秒.
我正在寻找一种方法,可以减去两个日期,并将差异返回到第二个,而不仅仅是一天.
我想在python脚本中做的是睡几秒钟,直到达到所需的时间.IE:如果runAt设置是15:20,当前时间是10:20,我该如何计算出睡多少秒?我不确定如何将15:20转换为时间和当前日期,然后扣除实际时间来获得秒数.
datetime.utcnow()
Run Code Online (Sandbox Code Playgroud)
此调用返回的日期时间不正确,从UTC/GMT延迟1小时(请登录:http://www.worldtimeserver.com/current_time_in_UTC.asp).
它应该像它应该的那样工作吗?
例如,它现在正在返回:
2015-02-17 23:58:44.761000.
Run Code Online (Sandbox Code Playgroud)
当前UTC时间是:00:58,而不是23:58
我正在寻找一个类似于np.interp可以处理datetime对象的功能.
例如:
import datetime, numpy as np
arr1 = np.array([datetime.datetime(2008,1,d) for d in range(1,10)])
arr2 = np.arange(1,10)
np.interp(datetime.datetime(2008,1,5,12),arr1,arr2)
Run Code Online (Sandbox Code Playgroud)
理想情况下会回归5.5,但numpy会加注TypeError: array cannot be safely cast to required type.这周围有一种不错的pythonic方式吗?
我有两个日期/时间字符串:
start_date = 10/2/2010 8:00:00
end_date = 10/2/2010 8:59:00
Run Code Online (Sandbox Code Playgroud)
我需要编写一个函数来计算事件是否在将来,过去或者现在是否正在发生 - 我已经阅读了相当多的文档但是发现很难让它工作.
我在Python中没有用太多时间进行计算,所以任何帮助都会非常感激!
非常感谢
我很想在Python中操纵时间.我可以使用os.path.getmtime()函数获取文件的(上次修改)年龄:
import os.path, time
os.path.getmtime(oldLoc)
Run Code Online (Sandbox Code Playgroud)
我需要运行某种测试来查看这个时间是否在过去三个月内,但我对Python中所有可用的时间选项感到困惑.
有人可以提供任何见解吗?亲切的问候.
如何在Python中添加纪元时间的天数
#lssec -a lastupdate -s root -f /etc/security/passwd 2>/dev/null | cut -f2 -d=
1425917335
Run Code Online (Sandbox Code Playgroud)
上面的命令给了我纪元时间我想在那段时间内添加90天.如何在纪元时间添加天数?
我无法理解使用的函数:
time = timezone.now() - datetime.timedelta(days=30)
Run Code Online (Sandbox Code Playgroud)
首先,timezone.now()给出了在Django中设置的时间......现在datetime.timedelta(days=30)......
它是否使用django中的内部设置作为set setting.py或其他设置.
其次如果是......应该:变量时间不是当前时区后30天.now();
在下面的功能中
def test_was_published_recently_with_old_question(self):
"""
was_published_recently() should return False for questions whose
pub_date is older than 1 day.
"""
time = timezone.now() - datetime.timedelta(days=30)
old_question = Question(pub_date=time)
self.assertEqual(old_question.was_published_recently(), False)
Run Code Online (Sandbox Code Playgroud)
这怎么会产生1天大...我认为我的问题不是理解
time = timezone.now() - datetime.timedelta(days=30) 完全是
我真的很感激帮助.我是python和med级程序员的新手......但是时间不长.
我从EC2实例中提取launch_time,它返回一个unicode字符串,如下所示:
2014-12-22T08:46:10.000Z
我使用dateutil解析器将其转换为datetime
launch_time = parser.parse(instance.launch_time)
Run Code Online (Sandbox Code Playgroud)
所以我转换后的午餐时间如下:
2014-12-22 08:46:10 + 00:00
我想将此启动时间与当前时间进行比较,以了解此实例运行了多长时间.
我得到current_time:
current_time = datetime.datetime.now()
Run Code Online (Sandbox Code Playgroud)
我这样得到它:
2014-12-22 11:46:10.527010
现在我有两个时间戳,我有这个功能
def timeDiff(launch_time, current_time):
running_time = current_time - launch_time
return running_time.seconds/60
Run Code Online (Sandbox Code Playgroud)
我预计结果将是180分钟(3小时).但我得到了这个错误:
TypeError:无法减去offset-naive和offset-aware datetimes
我认为这两个时间戳之间存在明显差异.我需要准确比较日期和时间,看看它运行了多长时间.我找不到合适的方法来解决这个问题.任何想法赞赏!
因此,我有两个函数可以将python datetime.datetime()对象与毫秒之间相互转换。我无法弄清楚哪里出了问题。这是我正在使用的:
>>> import datetime
>>> def mil_to_date(mil):
"""date items from REST services are reported in milliseconds,
this function will convert milliseconds to datetime objects
Required:
mil -- time in milliseconds
"""
if mil == None:
return None
elif mil < 0:
return datetime.datetime.utcfromtimestamp(0) + datetime.timedelta(seconds=(mil/1000))
else:
return datetime.datetime.fromtimestamp(mil / 1000)
>>> def date_to_mil(date):
"""converts datetime.datetime() object to milliseconds
date -- datetime.datetime() object"""
if isinstance(date, datetime.datetime):
epoch = datetime.datetime.utcfromtimestamp(0)
return long((date - epoch).total_seconds() * 1000.0)
>>> mil = 1394462888000 …Run Code Online (Sandbox Code Playgroud)