2016-10-28 59 views
0

我们有我们与python/jython如何修改日期时间字段上的时间值(23:59:00)?

date1=object.getDate("FINISHDATE"); 

我需要有相同的日期越来越在Jython代码领域,但我们需要设置日期时间价值实现价值23:59:00

如何可以做到这一点?

请不要使用DATE.NOW方法获取当前的时间,我需要从它通常是在未来的数据库中检索领域,所以我不希望设置静态日期部分,但只有时间部分

谢谢

+0

没有什么需要改变,由于你的编辑。它根本不会影响'date1'的获取方式:我显示的两种方法都会创建一个具有相同年份,月份和日期值的新'datetime'对象,但时间值被强制为23:59:00.0。 –

回答

1

datetime对象是不可变的:你不能修改它们的任何字段。您可以执行的操作是构造一个新的datetime值,将原始对象的date部分与您想要的time值组合起来。像这样:

>>> from datetime import datetime, time 
>>> date1 = datetime.now() 
>>> date1 
datetime.datetime(2016, 10, 28, 2, 8, 31, 655126) 
>>> date2 = datetime.combine(date1.date(), time(23, 59)) 
>>> date2 
datetime.datetime(2016, 10, 28, 23, 59) 

更长远的windedly,你也可以使用date1.replace()方法来改变任何数量的领域之一:在我的答案

>>> date1.replace(hour=23, minute=59, second=0, microsecond=0) 
datetime.datetime(2016, 10, 28, 23, 59) 
+0

嗨,谢谢你的评论,但你为什么要静态设置那些日期部分值(28.10.2016)?它使我感到困惑......你能告诉我们如何只设置TIME部分,而日期部分不一定是NOW。 – Dejan

+0

它对于任何'datetime'值都完全相同。尝试一下。我只使用'.now()'作为获取_some_'datetime'值的简便方法。 –

+0

嗨,谢谢你的努力。你能告诉我在哪一个确切的步骤我应该替换你的代码,并从数据库检索FINISHDATE值,因为我不知道我应该检索我的FINISHDATE值的位置? – Dejan

相关问题