我在openerp 7中有一個自定義模塊,具有字段簽入時間(日期 - 時間)和簽出時間(日期 - 時間)。當我點擊保存時,我想對兩個字段執行驗證,以確保退房時間不低於入住時間。感謝您的任何想法。在openerp中比較日期7
0
A
回答
0
我會嘗試從日期時間模塊中使用datetime類。
導入相關Python模塊
從日期時間日期時間進口
通過適當的方法來檢索您的記錄即
your_record = self.pool.get( 'YOUR_CUSTOM_MODULE')。搜索(cr,uid,domain,offset = 0,limit = None,order = None,context = None,count = False)
注意:您需要提供適當的域和修改/刪除參數,以滿足你的需要
創建一個從相關領域(使用DateTime類的strptime方法datetime對象:創建來自字符串的日期對象)。例如:
check_in = datetime.strptime(your_record [0] ['check-in time'],'%Y-%m-%d') check_out = datetime.strptime(your_record [0] ['退房時間 '], '%Y-%間%d')
用一個簡單的表達二者進行比較對象:
如果CHECK_IN < CHECK_OUT: ... 其他: ...
什麼就做什麼其他的操作都需要做。
注意:您需要適應的格式(' %Y-%間%d')到任何格式的數據庫返回
很難提供更多的信息,但沒有關於您流量的額外細節。
希望這有助於 乾杯
1
如上所述,使用日期時間。
在Odoo您的日期,時間和日期時間都交給作爲使用
openerp.tools.DEFAULT_SERVER_DATE_FORMAT,DEFAULT_SERVER_TIME_FORMAT和DEFAULT_SERVER_DATETIME_FORMAT格式的字符串使用。
from datetime import datetime
from openerp.tools import DEFAULT_SERVER_DATETIME_FORMAT
check_in = datetime.strptime(my_object.check_in, DEFAULT_SERVER_DATETIME_FORMAT)
check_out = datetime.strptime(my_object.check_out, DEFAULT_SERVER_DATETIME_FORMAT)
Go nuts with comparisons etc.
有兩點要注意:
- 我強烈建議datetime模塊上讀了標準庫,特別的strftime,strptime和timedelta
- 記住你會得到的日期,日期時間以UTC表示。表示日期和日期時間字段的類具有返回用戶時區中日期和時間戳的方法,但通常不需要這些。看看fields.date.context_today和fields.datetime.context_timestamp
相關問題
- 1. drupal 7日期時間日期比較
- 2. 在DataView.RowFilter中比較日期?
- 3. 在MySQL中比較日期
- 4. 在Java中比較日期
- 5. 在JavaScript中比較日期
- 6. 在VBA中比較日期
- 7. 在bash中比較日期
- 8. 在Javascript中比較日期
- 9. 在PHP中比較日期
- 10. 在mssql中比較日期
- 11. 在C中比較日期#
- 12. 在wordpress中比較日期
- 13. 在rails中比較日期
- 14. 在linq中比較日期
- 15. 在asp.net中比較日期
- 16. 在sas中比較日期
- 17. 在C++中比較日期
- 18. 在Android中比較日期
- 19. 比較日期
- 20. 日期比較
- 21. 比較日期
- 22. 日期比較
- 23. 日期比較
- 24. 日期比較
- 25. 日期比較
- 26. 比較日期
- 27. 比較日期
- 28. 日期比較
- 29. 日期比較
- 30. 比較日期