我想将当前日期分配到日期字段' 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 字段?
答案 0 :(得分:11)
日期字段包含today()
方法,仅适用于以下情况:
'start_date': fields.Date.today(),
当然,您需要先导入fields
:
from openerp import fields
答案 1 :(得分:3)
import time
'start_date':time.strftime("%d/%m/%Y")
答案 2 :(得分:2)
python datetime - 日期/时间值操作。
目的: datetime模块包含用于进行日期和时间分析,格式化和算术的函数和类。
可用于: 2.3及更高版本
使用datetime类来保存由日期和时间组件组成的值。与日期一样,有几种方便的类方法可以从其他常用值创建日期时间实例。
'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()是将它们转换为datetime实例的便捷方式。
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
答案 3 :(得分:1)
尝试
'start_date' : '%m-%d-%Y' % datetime.today(),
或
'start_date' : datetime.today().strftime('%m-%d-%Y'),
答案 4 :(得分:1)
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
答案 5 :(得分:-1)
只获得年份检查
year = datetime.now().strftime("%Y")