【问题标题】:jquery ui datepicker dateformatjquery ui datepicker dateformat
【发布时间】:2010-10-18 23:39:25
【问题描述】:

我在正确设置日期格式方面遇到了一些问题。

在我的日期字段失去焦点后,我希望它显示如下:

dd-mm-yyyy 但它必须像

一样保存在数据库中

yyyy-mm-dd。 .

这是我目前所拥有的:

$("#birthdate").datepicker({
            changeMonth: true,
            changeYear: true,
            altFormat: 'yyyy-mm-dd' 
             });

现在它显示在日期字段中,例如 2009 年 11 月 25 日(2009 年 11 月 25 日) 并于 2009 年 11 月 25 日发布

有什么想法吗?

【问题讨论】:

    标签: jquery user-interface datepicker


    【解决方案1】:

    试试这个:

    <script type="text/javascript" charset="utf-8">
    $(document).ready(function()
    {   
        $("#datepicker").datepicker({
            altField: '#realdate', 
            altFormat:'yy-mm-dd'
        }); 
    });
    

    <input type="text" name="datepicker" value="" id="datepicker">
    <input type="hidden" name="realdate" value="" id="realdate">
    

    然后使用 realdate 获取您发布的日期。

    【讨论】:

    • 如果我有多个 datepicker 并且我只使用一个 jquery 选择器 $("#datepicker1, #datepicker2") 来设置 datePicker 怎么办?
    【解决方案2】:

    MrHus 有一个很好的答案,但您应该只在后端处理它,因为此信息可以通过代理或许多其他可能的恶意方式伪造。例如,如果您正在运行 PHP,它将是这样的:

    <?php
    // BTW... you'll want to check for XSS attacks and other vulnerabilities first...
    $date = '08/05/1986';//$_REQUEST['datepicker'];
    // This is very simple... you should also check if the date is real...
    if(preg_match('/^\d{2}\/\d{2}\/\d{4}$/',$date)) {
        $date_formatted = date('Y-m-d',strtotime($date));
    }
    // put $date_formatted into database...
    ?>
    

    结合我们的两个答案应该可以(大部分)安全地到达那里。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-02
      • 1970-01-01
      • 1970-01-01
      • 2013-01-30
      • 1970-01-01
      • 2019-11-10
      • 1970-01-01
      • 2020-11-23
      相关资源
      最近更新 更多