您的位置:

JavaScript日期转字符串方法详解

一、js日期转字符串方法

在JavaScript中,将日期转换为字符串是一个很常见的操作。我们可以使用Date对象的toLocaleString()方法和toString()方法将日期转换为字符串。


//使用toLocaleString()方法转换
let date = new Date();
let formattedDate = date.toLocaleString();
console.log(formattedDate);
//输出结果:2022/1/6 下午2:53:29

//使用toString()方法转换
let date = new Date();
let formattedDate = date.toString();
console.log(formattedDate);
//输出结果:Thu Jan 06 2022 14:53:29 GMT+0800 (中国标准时间)

需要注意的是,toLocaleString()方法和toString()方法的格式是不同的,toLocaleString()方法所生成的字符串更加可读性强。

二、js日期字符串转时间戳

在JavaScript中,我们可以通过将日期字符串转换为时间戳来进行日期的计算和比较。可以使用Date对象的getTime()方法将日期字符串转换为时间戳。


//将日期字符串转换为时间戳
let dateString = "2022-03-15";
let timestamp = new Date(dateString).getTime();
console.log(timestamp);
//输出结果:1647340800000

三、js日期转字符串格式

我们可以使用各种不同的格式来输出日期字符串。以下是一些常用的格式:

  • yyyy-MM-dd
  • yyyy/MM/dd
  • MM/dd/yyyy
  • yyyy年MM月dd日
  • MM月dd日 yyyy年
  • dd/MM/yyyy
  • yyyy-MM-dd hh:mm:ss
  • yyyy/MM/dd hh:mm:ss

可以使用split()方法将日期字符串分隔成年、月和日,并使用字符串拼接来生成需要的日期格式。


//格式化日期字符串
let date = new Date();
let year = date.getFullYear();
let month = ("0" + (date.getMonth() + 1)).slice(-2);
let day = ("0" + date.getDate()).slice(-2);
let formattedDate = year + "-" + month + "-" + day;
console.log(formattedDate);
//输出结果:2022-01-06

四、js中字符串转日期函数

我们可以编写JavaScript函数,将字符串转换为日期对象。可以使用Date对象的构造函数并传入日期字符串来创建日期对象。


//将字符串转换为日期对象
function stringToDate(str){
    let date = new Date(str);
    return date;
}
let dateString = "2022-03-15";
let date = stringToDate(dateString);
console.log(date);
//输出结果:Tue Mar 15 2022 00:00:00 GMT+0800 (中国标准时间)

五、js字符串转换日期的函数

如果我们需要将字符串转换为指定格式的日期字符串,可以特别设计一个函数来完成这个任务。


//格式化日期字符串
function formatDate(date, format){
    let year = date.getFullYear();
    let month = ("0" + (date.getMonth() + 1)).slice(-2);
    let day = ("0" + date.getDate()).slice(-2);
    let hour = ("0" + date.getHours()).slice(-2);
    let minute = ("0" + date.getMinutes()).slice(-2);
    let second = ("0" + date.getSeconds()).slice(-2);
    let formattedDate = format.replaceAll("yyyy", year)
                             .replaceAll("MM", month)
                             .replaceAll("dd", day)
                             .replaceAll("hh", hour)
                             .replaceAll("mm", minute)
                             .replaceAll("ss", second);
    return formattedDate;
}
let date = new Date();
let formattedDate = formatDate(date, "yyyy-MM-dd HH:mm:ss");
console.log(formattedDate);
//输出结果:2022-01-06 15:26:31

六、js字符串日期转换成date

如果我们有一个特定的日期字符串,我们可以使用正则表达式来将其转换为Date对象。


//字符串转换为Date对象
function stringToDate(dateString) {
    let pattern = /^(\d{4})-(\d{2})-(\d{2})$/i;
    let match = pattern.exec(dateString);
    let date = new Date(match[1], match[2] - 1, match[3]);
    return date;
}

let dateString = "2022-03-15";
let date = stringToDate(dateString);
console.log(date);
//输出结果:Tue Mar 15 2022 00:00:00 GMT+0800 (中国标准时间)

七、js 日期字符串转日期

在JavaScript中,我们可以使用正则表达式将日期字符串转换为日期对象。我们也可以使用Moment.js这个库,它包含了各种时间和日期操作的功能。


//字符串转换为日期对象
function stringToDate(dateString) {
    let pattern = /^(\d{4})-(\d{2})-(\d{2})$/i;
    let match = pattern.exec(dateString);
    let year = parseInt(match[1], 10);
    let month = parseInt(match[2], 10) - 1;
    let day = parseInt(match[3], 10);
    let date = new Date(year, month, day);
    return date;
}

let dateString = "2022-03-15";
let date = stringToDate(dateString);
console.log(date);
//输出结果:Tue Mar 15 2022 00:00:00 GMT+0800 (中国标准时间)

八、js字符串格式化日期

如果我们需要生成指定格式的日期字符串,也可以使用Moment.js库来实现。


//格式化日期字符串
let date = new Date();
let formattedDate = moment(date).format("YYYY/MM/DD HH:mm:ss");
console.log(formattedDate);
//输出结果:2022/01/06 15:30:17

九、js字符串转换成日期对象

我们可以使用Date对象的构造函数来将字符串转换为日期对象。JavaScript会自动解析并将字符串转换为日期对象。


//字符串转换为日期对象
let dateString = "2022-03-15";
let date = new Date(dateString);
console.log(date);
//输出结果:Tue Mar 15 2022 00:00:00 GMT+0800 (中国标准时间)

结束语

本文详细介绍了JavaScript中日期转换为字符串的方法。我们可以使用不同的库和函数来完成这个任务,需要根据具体的需求和情况来做出选择。