2016-10-28 28 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

相關問題