gpt4 book ai didi

forms - CakePHP 3.x 和日期时间选择器

转载 作者:行者123 更新时间:2023-12-02 03:11:17 25 4
gpt4 key购买 nike

我正在使用 https://github.com/xdan/datetimepicker在我的添加功能中选择一个日期。奇迹般有效。现在当我想编辑它时 - 它输入了一个奇怪的日期。

自定义更改:bootstrap.php

date_default_timezone_set('Europe/Berlin');

edit.ctp

echo $this->Form->input('datetime', ['label' => __('Datum'), 'type'=>'text','id' => 'datetimepicker','selected' => '0000-00-00 00:00:00']);

日期时间选择器

$('#datetimepicker').datetimepicker({
format:'Y-m-d H:i',
lang: 'de'
});

我认为的输出:

<input type="text" name="datetime" id="datetimepicker" value="16.10.19 15:00">

从我的编辑 View 调试输出

'datetime' => object(Cake\I18n\FrozenTime) {

'time' => '2019-10-16T15:00:00+02:00',
'timezone' => 'Europe/Berlin',
'fixedNowTime' => false

}

将 date_default_timezone_set 更改为 UTC。但这没有帮助。我想知道我的应用程序从哪里得到将其放入我的输出中的想法。当我再次使用我的 dtp 选择它并选择一个日期时,它也可以工作——但它需要一个随机日期,比如 2019-10-10,你必须一路返回,这非常不方便:/

有什么想法吗?

编辑

我在修补实体之前在我的 edit() 函数中添加了它并且它起作用了。

$adress['datetime'] = $adress['datetime']->i18nFormat('yyyy-MM-dd HH:mm');

最佳答案

您只需使用 date_default_timezone_set('Europe/Berlin'); 设置服务器时区,但如果您不设置,JavaScript 不会关心服务器时区。 JavaScript 始终尝试使用您的 PC 时间。 所以,如果datetimepicker有时区选项,你需要使用JavaScript设置datetimepicker时区。

尝试像下面这样更改您的 edit.ctp 代码 -

echo $this->Form->input(
'datetime',
[
'label' => __('Datum'),
'type'=>'text',
'id' => 'datetimepicker',
'default' => date('Y-m-d H:i') #Set time for today
]
);

关于forms - CakePHP 3.x 和日期时间选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39838345/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com