Python 更改PyQt应用程序中的本地日期

Python 更改PyQt应用程序中的本地日期,python,pyqt,pyqt4,Python,Pyqt,Pyqt4,如何在PyQt应用程序中修改本地日期(我需要在linux和win平台上更改它)?例如: 注意:外部系统日期不得更改。您可以使用monkey patchQDate: QtCore.QDate.currentDate = lambda: QtCore.QDate(2012, 1, 1) 这可能会导致其他地方的不一致 工作示例: Python 3.3.2+ (default, Oct 9 2013, 14:50:09) [GCC 4.8.1] on linux Type "help", "co

如何在PyQt应用程序中修改本地日期(我需要在linux和win平台上更改它)?例如:


注意:外部系统日期不得更改。

您可以使用monkey patch
QDate

QtCore.QDate.currentDate = lambda: QtCore.QDate(2012, 1, 1)
这可能会导致其他地方的不一致


工作示例:

Python 3.3.2+ (default, Oct  9 2013, 14:50:09) 
[GCC 4.8.1] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from PyQt4 import QtCore
>>> QtCore.QDate.currentDate()
PyQt4.QtCore.QDate(2014, 3, 3)
>>> QtCore.QDate.currentDate = lambda: QtCore.QDate(2012, 1, 1)
>>> QtCore.QDate.currentDate()
PyQt4.QtCore.QDate(2012, 1, 1)
>>> 

对于python2.7:

class PatchedQDate (QtCore.QDate):
    @classmethod
    def currentDate (cls):
        return QtCore.QDate (2012, 1, 1)

QtCore.QDate = PatchedQDate

我不完全确定你在问什么。为什么不创建一个新的
QDate
,其中包含您想要使用的日期?@Andy Becаa use我想要在我的应用程序中使用朱利安日历系统。我想在格里高利和朱利安南之间动态地改变日历系统。@to_night。您是否阅读了上的Qt文档部分,是否了解该方法?@ekhumaro。toJulianDay返回,但我需要更改整个应用程序中的日历系统,如。怎么做的?@今晚。它是通过创建自己的
JulianDate
类(就像KDE一样)并使用
toJulianDay
/
fromJulianDay
进行必要的转换来实现的。如果您想了解更多详细信息,请查看.It not work on python 2.7:
TypeError:unbound方法()必须以QDate实例作为第一个参数调用(没有任何内容)。
class PatchedQDate (QtCore.QDate):
    @classmethod
    def currentDate (cls):
        return QtCore.QDate (2012, 1, 1)

QtCore.QDate = PatchedQDate