在python中查找给定日期的日期

时间:2014-12-17 06:29:03

标签: python datetime odoo dayofweek

你好朋友我在python中编写了两个方法,根据传递给它们的日期返回日期,但是我得到的输出在某些情况下是不同的。 粘贴下面的代码,请查看它并建议我更正....

e.g。日期" 10/06 / 2014" (m / d / yy)一个函数返回输出为星期一,这是正确的,另一个函数返回星期日,而不是。 我在一个案例中使用Odoo8(Openerp)服务器的方法,在另一个案例中使用Python的方法。

def a():
    month, day, year = (int(x) for x in "10/06/2014".split('/'))
    ans = datetime.date(year, month, day)
    day_name = ans.strftime("%A")    # the day_name is Monday here


def b():
    dt = datetime.strptime("10/06/2014", "%m/%d/%y")
    dt = fields.Datetime.context_timestamp(self, dt)   # openerp's ORM method 
    t = dt.strftime("%A")        # the day_name is Sunday here

1 个答案:

答案 0 :(得分:2)

我想那是因为你在格林威治以西,datetime.date是时区不知道的,openerp.fields.Datetime.context_timestamp是时区感知的。

例如,如果您的时区为PST,则时间戳10/06/2014 0:00 UTC变为10/05/2014 16:00 PST,显然是星期天。