Drupal 7 Drupal 7 date_弹出表单元素提交的值错误

Drupal 7 Drupal 7 date_弹出表单元素提交的值错误,drupal-7,drupal-fapi,Drupal 7,Drupal Fapi,我正在使用Drupal 7以自定义形式呈现以下日期选择器元素: $form['navigation']['calendar_popup'] = array( '#type' => 'date_popup', '#title' => t('Date', [], $t_context), '#title_display' => 'invisible', '#default_value' => date('

我正在使用Drupal 7以自定义形式呈现以下日期选择器元素:

    $form['navigation']['calendar_popup'] = array(
        '#type' => 'date_popup',
        '#title' => t('Date', [], $t_context),
        '#title_display' => 'invisible',
        '#default_value' => date('Y-m-d H:i:s', time()),
        '#date_format' => 'd-m-Y',
        '#size' => 10,
        '#date_label_position' => 'none', // none within
        '#date_increment' => 15,
        '#date_year_range' => '2008:+1',
        '#description' => '',
        '#required' => false,      
    );
今天是11月10日,显示的元素文本是10-11-2019。 但当在手持设备上提交表单时(我使用三星Galaxy S5 emulation和我的Chrome桌面浏览器),字段文本会短暂更改为“2019年10月11日”,实际上会提交“2019年10月11日”。在物理Galaxy a系列手持设备上也是如此)

桌面浏览器没有这个问题

有什么建议吗?

试试这个:

 $form['navigation']['calendar_popup'] = array(
    '#type' => 'date_popup',
    '#title' => t('Date', [], $t_context),
    '#title_display' => 'invisible',
    '#default_value' => date('Y-m-d', time()), // change format passed
    '#date_format' => 'd-m-Y',
    '#size' => 10,
    '#date_label_position' => 'none', // none within
    '#date_increment' => 15,

    '#date_timezone'       => date_default_timezone(), // add this

    '#date_year_range' => '2008:+1',
    '#description' => '',
    '#required' => false,      
);

=>强制时区+更改日期默认值格式

不幸没有运气。该字段在今天(11月12日)呈现,其中包含文本2019年11月12日。但是$form_state['values']['calendar_popup']在我的三星Galaxy上使用Chrome时,提交的值仍然是“2019-12-11”。在Win10下运行的桌面Chrome是可以的。我怀疑日期弹出模块附带的JQuery timepicker插件有问题。将给wvega一次尝试。您可以尝试使用来强制后端正确使用UTC@PavelMurnikov你试过了吗?是的我试过了m元素的建议。现在它的工作。稍后我做一些额外的更新,这仍然需要弄清楚。将张贴我的问题相应的答案。