0

当我从表单中保存带有日期字段的 DataObject 时,它会保存为 1970-1-1。

这是一个标准

public static $db = array(
  'MyDate' => 'Date'
);

然后

$form->saveInto($obj);
$obj->write();

尽管这两个阶段(保存到写入)似乎都将值更改为 1970。我意识到这并没有什么可做的,所以我想我正在寻求如何调试它的建议。

它使用电子商务和支付模块。

4

1 回答 1

0

文档 ( http://api.silverstripe.org/2.4/class-Date.html ) 声明“该字段当前支持新西兰日期格式 (DD/MM/YYYY) 或 ISO 8601 格式日期 (YYYY-MM- DD)"

如果日期被保存为纪元默认值,则很可能是以不正确的格式传入的。这可能是由于您的服务器与数据类型所期望的日期格式之间存在区域设置差异。

您需要查看 $obj->MyDate 的格式并在调用 $form->saveInto() 之前对其进行操作,以便日期以正确的格式保存。

于 2013-08-02T03:12:31.500 回答