Convert javascript to date object to mysql date format (YYYY-MM-DD)

前端 未结 14 888
清歌不尽
清歌不尽 2020-12-13 18:04

I\'m trying to use javascript to convert a date object into a valid mysql date - what is the best way to do this?

14条回答
  •  [愿得一人]
    2020-12-13 18:18

    Probably best to use a library like Date.js (although that hasn't been maintained in years) or Moment.js.

    But to do it manually, you can use Date#getFullYear(), Date#getMonth() (it starts with 0 = January, so you probably want + 1), and Date#getDate() (day of month). Just pad out the month and day to two characters, e.g.:

    (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;
        }
    })();
    

    Usage:

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

    Note that the function has a name, which is useful for debugging purposes, but because of the anonymous scoping function there's no pollution of the global namespace.

    That uses local time; for UTC, just use the UTC versions (getUTCFullYear, etc.).

    Caveat: I just threw that out, it's completely untested.

提交回复
热议问题