您的位置:

JavaScript字符串转时间详解

一、js字符串转时间格式

在JavaScript中,我们经常需要将一些字符串转换成特定的时间格式。例如,将"2021-08-15"转换成"Aug 15, 2021"。为了实现这个目标,我们可以使用JavaScript内置的Date对象,以及一些方法来帮助我们进行格式化。

下面是一个例子:

const dateStr = "2021-08-15";
const date = new Date(dateStr);

const month = date.toLocaleString('default', { month: 'short' });
const day = date.getDate();
const year = date.getFullYear();

const formattedDate = `${month} ${day}, ${year}`; 

console.log(formattedDate); // "Aug 15, 2021"

这里,我们首先创建了一个Date对象,然后使用toLocaleString方法来获取月份的缩写。我们还使用了getDate和getFullYear方法,来获取日和年。

二、js中字符串转成时间

有时候我们需要使用字符串表示的时间来进行一些计算。在JavaScript中,我们可以使用Date.parse方法来将字符串转换成Time Value(时间值),也可以使用Date的构造函数来创建一个Date对象,如下所示:

const dateStr = "2021-08-15T14:30:00.000Z";
const dateValue = Date.parse(dateStr);

console.log(dateValue); // 1629037800000

const dateObj = new Date(dateStr);

console.log(dateObj); // Sun Aug 15 2021 22:30:00 GMT+0800 (中国标准时间)

这里,我们首先使用Date.parse方法将字符串转换成时间值(以毫秒为单位)。我们使用Date对象的构造函数,将字符串转换成一个Date对象。需要注意的是,我们的字符串中使用了"Z"来代表UTC时间,但是在JavaScript中,我们通常需要将它转换成当前时区的时间。

三、js字符串转时间对象

在JavaScript中,我们可以将一个字符串转换成一个Date对象,然后使用Date的各种方法来进行操作。例如,我们可以使用getFullYear方法来获取年份,getMonth方法来获取月份,等等。

const dateStr = "2021-08-15T14:30:00.000Z";
const dateObj = new Date(dateStr);

console.log(dateObj.getFullYear()); // 2021
console.log(dateObj.getMonth()); // 7 (月份从0开始计算)
console.log(dateObj.getDate()); // 15
console.log(dateObj.getHours()); // 22 (当前时间为UTC时间,需要加上时差8小时)
console.log(dateObj.getMinutes()); // 30
console.log(dateObj.getSeconds()); // 0
console.log(dateObj.getMilliseconds()); // 0
console.log(dateObj.getDay()); // 0 (星期日)

需要注意的是,由于JavaScript中的Date对象支持UTC时间和本地时间两种模式,所以我们在获取小时、分钟、秒等属性时,需要根据时区的不同进行调整。

四、js字符串转时间戳

时间戳是一种表示时间的方式,通常是指自1970年1月1日(UTC)以来所经过的毫秒数。在JavaScript中,我们可以使用Date对象的getTime方法来获取时间戳,例如:

const dateStr = "2021-08-15T14:30:00.000Z";
const dateObj = new Date(dateStr);
const timestamp = dateObj.getTime();

console.log(timestamp); // 1629037800000

这里,我们将字符串转换成了一个Date对象,并使用getTime方法获取了对应的时间戳。

五、字符串转时间格式

有时候,我们需要将一个字符串转换成特定的时间格式,例如"2021-08-15T14:30:00.000Z"转换成"Aug 15, 2021 14:30:00"。为了实现这个目标,我们可以使用JavaScript内置的Date对象以及一些格式化方法,例如:

const dateStr = "2021-08-15T14:30:00.000Z";
const dateObj = new Date(dateStr);

const month = dateObj.toLocaleString('default', { month: 'short' });
const day = dateObj.getDate();
const year = dateObj.getFullYear();
const hour = dateObj.getHours();
const minute = dateObj.getMinutes();
const second = dateObj.getSeconds();

const formattedDate = `${month} ${day}, ${year} ${hour}:${minute}:${second}`;

console.log(formattedDate); // "Aug 15, 2021 22:30:00"

这里,我们首先将字符串转换成了一个Date对象,并使用toLocaleString方法来获取月份的缩写。然后,我们获取了日、年、时、分、秒等信息,并将它们拼接成了一个字符串。

六、js数组转字符串

有时候,我们需要将一个数组转换成字符串格式,例如把["a", "b", "c"]转换成"abc"。在JavaScript中,我们可以使用join方法来实现这个目标,例如:

const arr = ["a", "b", "c"];
const str = arr.join("");

console.log(str); // "abc"

这里,我们使用join方法将数组中的元素按照指定的分隔符(这里为空字符串)拼接成了一个字符串。

七、字符串转数组

有时候,我们需要将一个字符串转换成数组格式,例如把"abc"转换成["a", "b", "c"]。在JavaScript中,我们可以使用split方法来实现这个目标,例如:

const str = "a,b,c";
const arr = str.split(",");

console.log(arr); // ["a", "b", "c"]

这里,我们使用split方法将字符串按照指定的分隔符(这里为逗号)拆分成了一个数组。