是否有内置的方法在Python 中将a转换date为a datetime,例如获取datetime给定日期的午夜?相反的转换很简单:datetime有一个.date()方法.
我真的要手动打电话datetime(d.year, d.month, d.day)吗?
我现在能想到的最好的就是这种怪异:
>>> datetime.utcnow() \
... .replace(tzinfo=pytz.UTC) \
... .astimezone(pytz.timezone("Australia/Melbourne")) \
... .replace(hour=0,minute=0,second=0,microsecond=0) \
... .astimezone(pytz.UTC) \
... .replace(tzinfo=None)
datetime.datetime(2008, 12, 16, 13, 0)
Run Code Online (Sandbox Code Playgroud)
即,用英语,获取当前时间(以UTC为单位),将其转换为其他时区,将时间设置为午夜,然后转换回UTC.
我不只是使用now()或localtime(),因为它会使用服务器的时区,而不是用户的时区.
我不禁感到我错过了什么,有什么想法吗?
我的同事需要我从我的python timestamp对象中删除毫秒,以符合旧的POSIX(IEEE Std 1003.1-1988)标准.为我完成这项任务的折磨路线如下:
datetime.datetime.strptime(datetime.datetime.today().strftime("%Y-%m-%d %H:%M:%S"),"%Y-%m-%d %H:%M:%S")
Run Code Online (Sandbox Code Playgroud)
有没有比这更简单的方法来为mongoDB结束datetime.datetime对象?
我有一个日期字符串,并希望将其转换为日期类型:
我试图使用datetime.datetime.strptime和我想要的格式,但它返回转换的时间.
when = alldates[int(daypos[0])]
print when, type(when)
then = datetime.datetime.strptime(when, '%Y-%m-%d')
print then, type(then)
Run Code Online (Sandbox Code Playgroud)
这是输出返回的内容:
2013-05-07 <type 'str'>
2013-05-07 00:00:00 <type 'datetime.datetime'>
Run Code Online (Sandbox Code Playgroud)
我需要删除时间:00:00:00.
我试图计算今天和由历史数据组成的熊猫数据之间的天数差异。以下是预期的代码:
df['diff'] = pd.to_datetime( df['date']) - pd.datetime.now().date()
Run Code Online (Sandbox Code Playgroud)
但是,它会产生以下错误:
类型错误:不支持的操作数类型 -:'DatetimeIndex' 和 'datetime.date'
pandas 表中的日期列如下所示:
0 2018-12-18
1 2018-12-18
2 2018-12-18
3 2018-12-18
4 2018-12-18
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个错误。提前致谢。
根据当前时间 ( datetime.now()),我想将其扩展到涵盖一整天的时间。
现在我一直在使用:
start = (datetime.now() - timedelta(days=1)).strftime('%Y-%m-%d %H:%M:%S')
end = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
Run Code Online (Sandbox Code Playgroud)
问题是这是从当前日期算起的 24 小时。如果是中午 12 点,这意味着它应该只回顾 12 小时,因为我想搜索当天的记录。
如何在 Python 中完成此操作?
我正在将时间写入 XML 文件,然后回来将其与当前时间进行比较。我以前没有用 Python 做过这个,而且时间格式似乎很奇怪。
如果我将 timenow 写入 XML(没有毫秒),我就成功地将一些内容组合在一起。
如果 XML 具有类似于 2016-01-05 00:39:20 的时间戳,那么这有效:
tree = ET.parse('C:\logs\XMLFILENAME.xml')
for matchlisting in tree.findall('Found'):
age = matchlisting.find('FoundTime').text
dnow=datetime.datetime.now()
print dnow
d2 = datetime.datetime.strptime(age, '%Y-%m-%d %H:%M:%S')
#print d2
print(dnow-d2)
Run Code Online (Sandbox Code Playgroud)
但默认情况下, time.now 不会给出类似 2016-01-05 00:39:20 的内容,它会在后面添加毫秒,如 2016-01-05 00:39:20.xxxx。
我在文档中没有看到使用 strptime 处理毫秒的选项,也没有看到在没有毫秒的情况下编写 timenow 的方法,这也可以工作。
我希望有一些简单的语法来修复其中之一。我很感激这里有一个指针,几个小时以来我认为应该相当简单。
我有一个想要在网站上显示的 python datetime 对象,但是时间以 hh:mm:ss 格式显示,我想以 hh:mm 格式显示它。
我尝试使用替换方法如下:
message.timestamp.replace(second='0', microsecond=0)
Run Code Online (Sandbox Code Playgroud)
然而,这不会变红它只是用 hh:mm:00 替换它
python ×8
datetime ×7
date ×2
pandas ×1
python-2.7 ×1
pytz ×1
strptime ×1
subtraction ×1
timezone ×1
utc ×1