如何将当前日期分配给 odoo v8 中的日期字段?

How to assign current date to a date field in odoo v8?

我想在以下代码中将当前日期分配给日期字段 'start_date':

calendar_obj.create(cr,uid,
             {'name' : rec_res.act_ion,
              'user_id' : rec_res.asgnd_to.id,
              'start_date' : lambda *a:datetime.today().strftime('%m-%d-%Y'),
              'stop_date' : rec_res.due_date,
              'allday' : True,
              'partner_ids' : [(6,0, [rec_res.asgnd_to.partner_id.id])]
             },
context=context)

如何设置或分配当前日期值到 start_date 字段?

试试

'start_date' : '%m-%d-%Y' % datetime.today(),

'start_date' : datetime.today().strftime('%m-%d-%Y'),
import time

'start_date':time.strftime("%d/%m/%Y")

日期字段包含一个 today() 方法,仅适用于这种情况:

'start_date': fields.Date.today(),

当然需要先导入fields:

from openerp import fields

python 日期时间 – Date/time 值操作。

用途: datetime 模块包括函数和 classes 用于日期和时间解析、格式化和算术。

适用于: 2.3 及更高版本

使用日期时间 class 来保存由日期和时间组成的值。与日期一样,有几种方便的 class 方法可以从其他常用值创建日期时间实例。

'start_date' : datetime.datetime.now().strftime('%m-%d-%Y')


import datetime

print 'Now    :', datetime.datetime.now()
print 'Today  :', datetime.datetime.today()
print 'UTC Now:', datetime.datetime.utcnow()

d = datetime.datetime.now()
for attr in [ 'year', 'month', 'day', 'hour', 'minute', 'second', 'microsecond']:
    print attr, ':', getattr(d, attr)

结果:

Now    : 2015-08-14 16:27:51.475070
Today  : 2015-08-14 16:27:51.475462
UTC Now: 2015-08-14 10:57:51.475585
year : 2015
month : 8
day : 14
hour : 16
minute : 27
second : 51
microsecond : 475645

格式化和解析

日期时间对象的默认字符串表示形式使用 ISO 8601 格式 (YYYY-MM-DDTHH:MM:SS.mmmmmm)。可以使用 strftime() 生成替代格式。同样,如果您的输入数据包含可使用 time.strptime() 解析的时间戳值,则 datetime.strptime() 是将它们转换为日期时间实例的便捷方法。

import datetime

format = "%a %b %d %H:%M:%S %Y"

today = datetime.datetime.today()
print 'ISO     :', today

s = today.strftime(format)
print 'strftime:', s

d = datetime.datetime.strptime(s, format)
print 'strptime:', d.strftime(format)

结果:

ISO     : 2015-08-14 16:32:23.914699
strftime: Fri Aug 14 16:32:23 2015
strptime: Fri Aug 14 16:32:23 2015
from datetime import datetime

current_date = fields.Date(string='Date',default=datetime.now())

current_date.strftime("%d-%M-%Y") // strftime function use for the Date Format