将日期转换为ISOString后删除时间

时间:2017-11-02 02:19:12

标签: javascript jquery html

如何在将日期转换为ISO字符串后删除时间?

var now = new Date();
console.log( now.toISOString() );

如果输出

2017-10-19T16:00:00.000Z

我只想要它:

2017-10-19

4 个答案:

答案 0 :(得分:4)

实际上有很多方法可以做到:

1-使用Moment JS可以灵活处理问题

2-在原生JS中执行此操作的简单方法是使用substr()函数:

var date = new Date();
console.log(date.toISOString().substr(0,10));

如果只需要删除字符串的时间部分并仅使用日期,第二种方法会更有效。

答案 1 :(得分:1)

最好在js中使用与日期时间相关的函数的时刻。现在你可以立即使用substring方法: var a = "2017-10-19T16:00:00.000Z" a = a.substring(0,10)

答案 2 :(得分:1)

以下是如何使用momentjs

完成的

var currentDate = moment().format('YYYY-MM-DD');

查看Jsfiddle链接:https://jsfiddle.net/cgbcc075/

答案 3 :(得分:0)

一种简单但可靠的方法是沿日期分隔符进行分割:

new Date().toISOString().split('T', 1)[0] // => '2019-03-18'

如果使用未知来源的ISO字符串,则使用Regex模式作为分隔符可能会更可靠(即Postgres使用空格作为分隔符)。

const isoString = '2019-01-01 12:00:00.000000'

isoString.split(/[T ]/i, 1)[0] // => '2019-01-01'

与使用substring不同,此方法不会对日期的长度进行假设(对于1000年之前和9999年之后的年份可能是错误的)。