jQuery Datepicker:向用户显示一种日期格式,在后台使用另一种日期格式

Posted

技术标签:

【中文标题】jQuery Datepicker:向用户显示一种日期格式,在后台使用另一种日期格式【英文标题】:jQuery Datepicker: Show one date format to user, use another date format in the background 【发布时间】:2012-12-11 17:00:29 【问题描述】:

我使用 jQuery 的 datepicker 工具获得了输入。现在我知道我可以设置日期选择器使用的日期格式。问题是:我想以德语格式向用户显示日期,同时对数据库使用英语格式(dd-mm-yy 到 yy-mm-dd)。

我现在有以下内容:

$(".date").datepicker(
    dateFormat: "dd-mm-yy",
    onSelect: function(dateText, inst) 
        $("#test").html($.inst.formatDate('yy-mm-dd', dateText); // What exactly do I have to do, to get the date from dd-mm-yy to yy-mm-dd
    
);

【问题讨论】:

你试过用 $.datepicker.parseDate('yy-mm-dd', dateText) 吗? 【参考方案1】:

您最好的选择可能是使用altFieldaltFormat 属性作为日期选择器,正是因为这个原因:API Docs。

如果您将 altField 设置为隐藏的输入字段,那么您可以在上传到数据库时从那里获取数据或其他任何您需要备用日期格式的数据。

【讨论】:

感谢您的建议,试试吧!【参考方案2】:

我将它用于表单字段:

echo 'Set next action date: <input type="text" id="next_action" name="next_action" value="' . $next_action . '" />';

在 datepicker 的 scipt 设置中,我包含了这个选项:

dateFormat: 'yy-mm-dd',

这给了我正确的 mysql 日期格式来在表中插入/更新。但它对访问者不是特别友好,所以我在页面顶部设置了我的首选格式:

if ($s['next_action'] >= "1") 
    $next_action = date($date_style,strtotime($s['next_action']));
 else 
    $next_action = '';

这取决于我的主包含文件中的一个变量:

$date_style = "F d, Y";

如果我选择一个日期,datepicker 会在提交数据库时为我提供一个好的日期,尽管在提交之前它会显示 yyyy-mm-dd 格式。提交后,它使用漂亮的显示。

【讨论】:

嘿!感谢您的回答,不幸的是,这是一个 php 解决方案(我没有在这个项目中使用它)。无论如何谢谢:)

以上是关于jQuery Datepicker:向用户显示一种日期格式,在后台使用另一种日期格式的主要内容,如果未能解决你的问题,请参考以下文章

使用特定日期填充 jQuery Datepicker

在 Jquery Datepicker 中动态更改突出显示的日期

年份的 JQuery Datepicker 下拉列表仅显示单年

如何使用 Jquery 在 DatePicker 中设置昨天的日期

jQuery UI - Datepicker - 隐藏年份

需要 jQuery datepicker 日历向左调整一点