跳至內容
選單
此問題已被標幟
1 回覆
3825 瀏覽次數

I want to set a flag when a user enters a datetime which is either before 10 minutes from now or after 10 minutes from now.
I have tried many possibilities but I am not getting the proper result. Can anyone help me please.   
   
    Error message : ValueError: time data '' does not match format '%Y-%m-%d %H:%M:%S'
   
    py file :    
    @api.multi
    def write(self, values):
        check_out = values.get('check_out', '')
        log_in = values.get('log_in', '')
        log_out = values.get('log_out', '')
        check_in = values.get('check_in', '')
        import datetime
        now = datetime.datetime.now()
        d = now.replace(microsecond=0)
        my_login_time = datetime.datetime.strptime(log_in, '%Y-%m-%d %H:%M:%S')
        my_logout_time = datetime.datetime.strptime(log_out, '%Y-%m-%d %H:%M:%S')
        start_time = d - datetime.timedelta(minutes=10)
        end_time = d + datetime.timedelta(minutes=10)
        if check_in:           
            if my_login_time > end_time or my_login_time < start_time:
                self.set_flag = True
        if check_out:
            if my_logout_time > end_time or my_logout_time < start_time:
                self.set_flag = True
        res = super(AgendaLine, self).write(values)
        return res

頭像
捨棄
最佳答案

Hello @Sumit,

Make sure that login_in field in datetime.datetime.strptime(log_in, '%Y-%m-%d %H:%M:%S') would be in the same format as you were take in strptime parameter('%Y-%m-%d %H:%M:%S'). And also make sure that login_in field should in string format but not in datetime format.

頭像
捨棄
相關帖文 回覆 瀏覽次數 活動
0
1月 21
2734
1
10月 17
3510
3
8月 25
11547
2
6月 20
5201
2
5月 18
5680