gpt4 book ai didi

javascript - 在 Yahoo UI 中更改日期格式

转载 作者:行者123 更新时间:2023-11-30 07:19:16 25 4
gpt4 key购买 nike

我正在使用 Yahoo UI 中的日历,如下所示:

calDate = (calDate.getMonth() + 1) + '/' + calDate.getDate() + '/' + calDate.getFullYear();

这会显示 MMDDYYYY 格式。

我想将此格式更改为 YYYY-MM-DD 以便我可以将其插入 MySQL 数据库。我将代码更改为:

calDate = calDate.getFullYear() + '-' + (calDate.getMonth() + 1) + '-' + calDate.getDate();

它有效,但现在的问题是,当我想更改所选日期时,日历不显示日期,而是显示 NAN

最佳答案

通常最好将日期作为 unix 时间戳传递到后端,并在数据库本身中进行转换。在为服务器构建 POST 数据的代码中,您将传递如下内容:

var t = calDate.getTime()/1000;

请注意除以 1000。这是必需的,因为 javascript 时间戳以毫秒为单位,而 MySQL 需要秒。

在您的 SQL 语句中,您将按原样传递时间戳,并使用 FROM_UNIXTIME 函数将其转换为您需要的格式:

INSERT INTO ... VALUES ( FROM_UNIXTIME($t), ...)

自然会有一些代码将 t 从 javascript 转换为后端脚本中的 $t,然后将其传递给 SQL。

现在,如果您真的需要在前端格式化日期,您可以使用方便的 YAHOO.util.Date 实用程序。只需做这样的事情:

alert(YAHOO.util.Date.format(calDate, {format: "%Y-%m-%d" }));

比调用 getFullYear、getMonthgetDate 容易得多

关于javascript - 在 Yahoo UI 中更改日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/623973/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com