获取年月日详解

发布时间:2023-05-19

一、获取年月日代码

获取年月日是 Web 开发中很常见的操作,下面是一个简单的 JavaScript 代码示例,可以获取当前日期的年月日:

let now = new Date();
let year = now.getFullYear();
let month = now.getMonth() + 1; // 月份从 0 开始,所以要 +1
let day = now.getDate();
console.log(`${year}-${month}-${day}`);

其中,new Date() 创建一个当前日期的 Date 对象实例,然后使用 getFullYear()getMonth()getDate() 方法分别获取年、月、日。需要注意的是,month 从 0 开始,所以要 +1。

二、使用 js date 获取年月日

JavaScript 原生提供了 Date 对象,可以方便地获取年月日。下面是一个通过 Date 对象获取当前日期年月日的示例:

let now = new Date();
let year = now.getFullYear();
let month = now.getMonth() + 1; // 月份从 0 开始,所以要 +1
let day = now.getDate();
console.log(`${year}-${month}-${day}`);

此处与上面的代码示例一样,不再赘述。

三、获取年月日 js 库

如果需要更加丰富的时间处理功能,可以使用一些常见的 JavaScript 日期库,如 moment.jsdate-fns 等。下面是使用 date-fns 库获取当前日期的年月日的示例:

import { format } from 'date-fns';
let now = new Date();
let dateStr = format(now, 'yyyy-MM-dd');
console.log(dateStr);

使用 import 导入需要的函数,然后通过 format 函数进行格式化。在此示例中,传递给 format 函数的第二个参数是格式字符串 'yyyy-MM-dd',表示返回的年月日格式。更多格式化选项可以查看 date-fns 的官方文档。

四、年月日时间怎么提取年月日

有时需要从类似于 '2022-09-23 12:55:51' 的字符串中提取年月日,下面是一个 JavaScript 代码示例:

let str = '2022-09-23 12:55:51';
let dateArr = str.split(' ')[0].split('-');
let year = dateArr[0];
let month = dateArr[1];
let day = dateArr[2];
console.log(`${year}-${month}-${day}`);

先使用 split 函数拆分字符串,将年月日与时间分开。然后再对年月日部分进行二次拆分,获取年月日各个部分。

五、获取年月日和时间

有时需要获取完整的年月日和时间信息,下面是一个使用 date-fns 库获取当前日期的年月日和时间的示例:

import { format } from 'date-fns';
let now = new Date();
let dateStr = format(now, 'yyyy-MM-dd HH:mm:ss');
console.log(dateStr);

类似于上面的示例,只不过格式化字符串中加上了时间信息 'HH:mm:ss',表示返回的格式化字符串包含日期和时间信息。

六、date 对象获取年月日

除了 getFullYeargetMonthgetDate 方法,Date 对象还提供了一些其他获取年月日信息的方法,如 getYeargetDaygetTime 等。下面是一个使用 getYear 方法获取当前年份的示例:

let now = new Date();
let year = now.getYear() + 1900; // 是以 1900 为基准的
console.log(year);

需要注意的是,getYear 方法返回的是以 1900 为基准的年份,所以最终需要加上 1900。

七、获取年月日格式化

有时候需要将数字形式的年月日格式化成指定的格式,这时可以使用一些常用的格式化库或者封装自己的方法。下面是一个自定义格式化函数的示例:

function formatDate(year, month, day, format) {
  let result = format.replace('yyyy', year)
                    .replace('MM', month < 10 ? `0${month}` : month)
                    .replace('dd', day < 10 ? `0${day}` : day);
  return result;
}
let now = new Date();
let year = now.getFullYear();
let month = now.getMonth() + 1;
let day = now.getDate();
let dateStr = formatDate(year, month, day, 'yyyy-MM-dd');
console.log(dateStr);

可以定义一个 formatDate 函数,传递想要格式化的年月日信息和 format 参数来控制输出的格式。在此示例中,return 前的三行代码将年、月、日指定的位置替换成对应的值,返回最终格式化后的结果。

八、获取年月日时分代码

除了年月日,有时候也需要获取时分信息。下面是一个获取当前时间的年月日和时分的示例:

let now = new Date();
let year = now.getFullYear();
let month = now.getMonth() + 1;
let day = now.getDate();
let hour = now.getHours();
let minute = now.getMinutes();
console.log(`${year}-${month}-${day} ${hour}:${minute}`);

使用类似于第一、二点中的方法获取年月日,并通过 getHoursgetMinutes 方法获取时分信息。

九、获取年月日时分秒 js

尽管大多数情况下只需要获取年月日或者年月日时分信息,但仍有时候需要完整的年月日时分秒信息。下面是一个使用 date-fns 库获取当前完整时间的示例:

import { format } from 'date-fns';
let now = new Date();
let dateStr = format(now, 'yyyy-MM-dd HH:mm:ss');
console.log(dateStr);

和第五点中的代码示例类似,只不过时间的格式化字符串中加上了秒 'ss'