JS 如何转换日期格式

www.jswusn.com JS 2025-05-19 09:42:37 3次浏览


JS 转换日期格式

1. JS 如何 把 日期字符串转换成日期

在JavaScript中,将日期字符串转换为日期对象通常使用Date构造函数或者Date.parse()方法。

1.1. 常见的方式:

1.1.1. 使用new Date()构造函数:

如果你的日期字符串符合ISO 8601标准(例如:"2023-09-15T10:30:00"),你可以直接使用new Date()构造函数来创建一个日期对象。

const dateString = "2023-09-15T10:30:00";
const dateObject = new Date(dateString);


1.1.2. 使用Date.parse()方法:

Date.parse()方法解析一个表示日期的字符串,并返回从1970-1-1 00:00:00 UTC到该日期的毫秒数。然后可以使用这个毫秒数来创建一个新的Date对象。

const dateString = "2023-09-15T10:30:00";
const timestamp = Date.parse(dateString);
const dateObject = new Date(timestamp);


1.1.3. 对于非标准格式的日期字符串,你可能需要手动解析字符串并创建Date对象:

function stringToDate(str) {
    const [year, month, day] = str.split('-');
    return new Date(year, month - 1, day); // JavaScript月份从0开始计数
}

const dateString = '2023-01-15';
const dateObject = stringToDate(dateString);


1.1.4. 如果你需要处理不同地区的日期格式,或者想要更强大的日期操作功能,可以考虑使用第三方库如Moment.jsDay.js

使用Day.js的例子:

const dayjs = require('dayjs'); // 或者通过CDN引入
const dateString = "2023-09-15";
const dateObject = dayjs(dateString).toDate();

记得检查输入的日期字符串是否有效,因为如果提供的字符串不符合预期格式,可能会导致Invalid Date错误。可以通过检查dateObject是否为有效的日期对象来避免这种情况:

if (isNaN(dateObject.getTime())) {
    console.error("Invalid date format");
} else {
    console.log(dateObject);
}

以上就是在JavaScript中将日期字符串转换为日期对象的一些常见方法。根据你的具体需求选择合适的方法即可。


2. JS 如何 把 日期串转换成日期格式字符串

在JavaScript中,如果你有一个日期字符串,并且你想要将其转换为特定格式的日期字符串,你可以按照以下步骤操作:

  1. 1. 首先,将日期字符串解析为一个Date对象。
  2. 2. 然后,使用Date对象的方法获取年、月、日等各个部分。
  3. 3. 最后,根据需要的格式,将这些部分组合成一个新的字符串。

这里有几个示例函数来实现这个过程。假设我们有一个日期字符串"2023-09-15",我们想把它转换为不同的格式:

2.1. 示例:转换为 "YYYY-MM-DD" 格式

function formatDate(dateStr) {
    const date = new Date(dateStr);
    const year = date.getFullYear();
    const month = String(date.getMonth() + 1).padStart(2, '0'); // Months are zero-based
    const day = String(date.getDate()).padStart(2, '0');
    return `${year}-${month}-${day}`;
}

const dateString = "2023-09-15";
console.log(formatDate(dateString)); // 输出: "2023-09-15"


2.2. 示例:转换为 "MM/DD/YYYY" 格式

function formatDateSlash(dateStr) {
    const date = new Date(dateStr);
    const year = date.getFullYear();
    const month = String(date.getMonth() + 1).padStart(2, '0');
    const day = String(date.getDate()).padStart(2, '0');
    return `${month}/${day}/${year}`;
}

const dateString = "2023-09-15";
console.log(formatDateSlash(dateString)); // 输出: "09/15/2023"

2.3. 示例:转换为 "DD/MM/YYYY" 格式

function formatDateDDMMYYYY(dateStr) {
    const date = new Date(dateStr);
    const year = date.getFullYear();
    const month = String(date.getMonth() + 1).padStart(2, '0');
    const day = String(date.getDate()).padStart(2, '0');
    return `${day}/${month}/${year}`;
}

const dateString = "2023-09-15";
console.log(formatDateDDMMYYYY(dateString)); // 输出: "15/09/2023"

2.4. 使用第三方库(如 date-fns

如果你想避免手动处理日期格式化,或者需要支持更多的格式选项,可以使用第三方库如 date-fns 或者 moment.js。以下是使用 date-fns 的例子:

首先安装 date-fns

npm install date-fns

然后使用它来格式化日期

import { format } from 'date-fns';

const dateString = "2023-09-15";
const formattedDate = format(new Date(dateString), 'yyyy-MM-dd');
console.log(formattedDate); // 输出: "2023-09-15"


你可以根据你的需求选择不同的格式化模式,例如 'MM/dd/yyyy''dd/MM/yyyy' 等等。date-fns 提供了丰富的格式化选项,而且性能较好,推荐用于新的项目中。注意 moment.js 已经停止更新,因此对于新项目不推荐使用。

上一篇:没有了!

JS

下一篇:JavaScript开发中需要注意的一些小细节

技术分享

苏南名片

  • 联系人:吴经理
  • 电话:152-1887-1916
  • 邮箱:message@jswusn.com
  • 地址:江苏省苏州市相城区

热门文章

Copyright © 2018-2025 jswusn.com 版权所有

技术支持:苏州网站建设  苏ICP备18036849号