我将使用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。 但是,当在手持设备上提交表单时(我在我的Chrome桌面浏览器中使用Samsung Galaxy S5仿真),则字段文本会短暂更改为``11-10-2019'',而实际上会提交``2019-10-11''。在物理Galaxy A系列掌上电脑上也是如此。
台式机浏览器没有此问题。
有什么建议吗?
答案 0 :(得分:0)
尝试一下:
$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,
);
=>强制时区+更改日期默认值格式