无法在 jQuery DatePicker 中使用格式“yyy-dd-mm HH:MM:ss”来保存 MySQL DateTime 字段

Posted

技术标签:

【中文标题】无法在 jQuery DatePicker 中使用格式“yyy-dd-mm HH:MM:ss”来保存 MySQL DateTime 字段【英文标题】:Can't use format "yyy-dd-mm HH:MM:ss" in jQuery DatePicker to Save MySQL DateTime Field 【发布时间】:2021-01-02 16:50:24 【问题描述】:

我想从日期选择器选择的日期更改日期格式

如何更改此日期格式

DTSTART: 09/18/2020 
DTEND: 09/18/2020

到现在为止

DTSTART:19970714T170000Z
DTEND:19970715T035959Z

我试过了,但我没有得到我想要的

  $("#datepicker").datepicker(
        dateFormat: 'yyy-dd-mm HH:MM:ss'
   );

注意:此日期将用于 php 中的 ics 文件日历中。

我需要做什么来解决这个问题?

【问题讨论】:

嘿,不急,只是想知道我的回答是否有帮助。 你好兄弟没有 嘿,死人,怎么没有帮助?您正在尝试在日期时间字段上使用日期选择器,我解释说这是行不通的。另外,你能解释一下吗?我在网上发布了一个 100% 工作演示:100% Working Demo for Datepicker,以及 Official jQuery UI Documentation 说按照我的描述使用它。你能解释什么不起作用吗?我的意思是,看看你的格式?您将年份列为“YYY”,三个 Y?不知道我的回答对您的多个问题没有帮助。 【参考方案1】:

好吧,datepicker 只能处理 dates,而你给它一个包含 HH:MM:ss 的格式参数。它无法设置您的 time,在这种情况下,您需要一个 time-picker。

将格式设置为:yy-mm-dd。这表示 4 位数的年份、2 位数的月份和 2 位数的日期。

yy - 年份(四位数)

mm - 一年中的月份(两位数)

dd - 日期(两位数)

来源:Official jQuery UI Datepicker Documentation.

基本上,您只需要'yy-mm-dd' 的格式即可为 mysql 正确插入日期值...

    $(selector).datepicker(
            dateFormat: 'yy-mm-dd',
            yearRange: '-100:+2',
            changeMonth: true,
            changeYear: true,
    );

Full, Working Online Demo.

您可以查看的结果:

此外,正如您在上面看到的,这从今天减去 100 年到今天加上 2 年。例如,如果您想显示 1970 到 2025 的日期,yearRange 将是 -50:+5

【讨论】:

“你只需要 'yy-mm-dd' 的格式来为 MySQL 正确插入日期值” - 关于那个; mysql 存储为YYYYetc....而不是其中的 2 个(Y)。 嘿,Funk 40 Niner。实际上,每个Y 代表2 位数字。尝试在这里选择一个日期:Working Demo With My Code 我冒昧地用您的格式制作了一个演示:Non-Working Demo With Your Format -- 输出:20202020-09-08 注意Official jQuery Datepicker Docs:yy - year (four digit),事实上,“yyyyy”甚至没有作为dateFormat的选项出现。

以上是关于无法在 jQuery DatePicker 中使用格式“yyy-dd-mm HH:MM:ss”来保存 MySQL DateTime 字段的主要内容,如果未能解决你的问题,请参考以下文章

使用 jQuery Datepicker 使日期在加载时无法选择

为啥 jQuery Datepicker 无法更改日期格式?

jquery ui datepicker无法添加新的输入字段

JQuery DatePicker 只读

使用 jQuery datepicker 和 Create 视图无法正常工作

JQuery Datepicker 无法正常工作