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

标签 javascript yui

我正在使用 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/

相关文章:

javascript - 从 React 的 useState 钩子(Hook)改变状态

javascript - 如何制作具有垂直滚动效果的菜单按钮

javascript - YUI 中抛出异常 : "Sizzle" is not defined!

asp.net - 从 ASP.NET WebService 返回的 JSON 不合适

javascript - YUI3 - 根据 XY 位置更新 CSS 类

javascript - 提交前点击。查询

javascript - 使用 jQuery 选择生成的 id

javascript - 避免页面加载后返回顶部

javascript - YUI getElementById ('id' ).value 已弃用?

javascript - 如何在 Yahoo YUI 2.0 中订阅事件?