我正在try 使用JavaScript将日期对象转换为有效的MySQL日期——最好的方法是什么?

推荐答案

Update:在这里,2021,日期.js在years年没有维护过,因此不推荐使用,现在.js处于"仅维护"模式.我们有内置的Intl.DateTimeFormatIntl.RelativeTimeFormat和(很快)Temporal,可能最好使用它们.一些有用的链接来自Moment's page on entering maintenance mode.


Old Answer:

可能最好使用Date.js(尽管这已经多年没有维护)或Moment.js这样的库.

但是要手动操作,可以使用Date#getFullYear()Date#getMonth()(它以0=一月开始,所以可能需要+1)和Date#getDate()(月日).只需将月份和日期填充为两个字符,例如:

(function() {
    Date.prototype.toYMD = Date_toYMD;
    function Date_toYMD() {
        var year, month, day;
        year = String(this.getFullYear());
        month = String(this.getMonth() + 1);
        if (month.length == 1) {
            month = "0" + month;
        }
        day = String(this.getDate());
        if (day.length == 1) {
            day = "0" + day;
        }
        return year + "-" + month + "-" + day;
    }
})();

用法:

var dt = new Date();
var str = dt.toYMD();

请注意,函数有一个名称,这对调试非常有用,但由于匿名作用域函数,因此不会污染全局命名空间.

使用当地时间;对于UTC,只需使用UTC版本(getUTCFullYear等).

警告:我刚刚把它扔掉了,它完全没有经过测试.

Mysql相关问答推荐

MySQL多连接以获得单个结果集(使用MySQL max函数)

获取最大登录应用程序用户数以及何时

docker-compose:无法将应用程序服务连接到 mysql 数据库,收到错误:用户‘root’@‘localhost’访问被拒绝(使用密码:YES)

按唯一列排序,但保持匹配的列在一起

数据导入和默认目标架构空列表. (Mysql 工作台 8)

在 MySQL 中,如何对 LIKE 查询进行批量更新,删除字符?

如何在Pandas 中使用 to_sql

使用来自另一个表 mysql 的值将新行插入到表中

在 Spring Data jpa 中的 @Query 中无法识别本机查询

使用 MySQL 在树中查找 Leaf

MySQL PHP - Select WHERE id = array()?

在 MySQL 中重命名外键列

mysqli_fetch_array() 期望参数 1 为 mysqli_result,布尔值

仅在 MYSQL DATEDIFF 中显示小时数

MySQL 实用程序 - ~/.my.cnf 选项文件

Yii2 如何进行 where AND 或 OR 条件分组?

从 MySQL JSON 数据类型中提取不带引号的值

与 MySql 的连接正在自动中止.如何正确配置Connector/J?

MySQL连接查询使用like?

MySQL 的最大并发连接数