JavaScript中的Date对象,以及常用格式化日期的方法封装

news2024/11/24 17:45:30

一、Date对象

二、操作Date对象

1、创建Date对象

(1)常用方法

(2)使用示例

2、获取日期

(1)常用方法

(2)使用示例

3、设置日期 

(1)常用方法

(2)使用示例

4、格式转换

(1)常用方法

(2)使用示例

5、获取时间戳

(1)常用方法

(2)使用示例 

三、格式化Date对象


一、Date对象

JavaScript中内置了一个Date对象,它非常强大,提供了很多属性和方法,用来创建、操作、格式化日期和时间,也可以进行各种日期和时间的相关操作;

二、操作Date对象

1、创建Date对象

使用new Date() 构造函数来创建Date实例对象;

(1)常用方法

序号

方法

说明
1new Date()根据当前时间创建Date对象;
2new Date(milliseconds)根据milliseconds(13位时间戳)创建Date对象;
3new Date(dateString)根据dateString(如:"2024/2/20 11:11:00")日期字符串创建Date对象;
4new Date(year, month  [, day, hours, minutes, seconds, milliseconds] )根据传入的年,月,日,时,分,秒,毫秒创建,前两个参数必选;

(2)使用示例


// 1、不传参数,根据当前日期创建
console.log("根据当前日期创建:", new Date());

// 2、传入时间戳创建
console.log("根据时间戳创建:", new Date(1719363544868));

// 3、传入日期字符串创建
console.log("根据日期字符串:", new Date("2014/01/08 11:11:00"));

// 4、传入年,月,日,时,分,秒,毫秒创建
console.log("根据年,月,日,时,分,秒,毫秒创建:", new Date(2014, 2, 20, 11, 30, 23));

 

2、获取日期

(1)常用方法

序号

方法

描述
1getFullYear() 获取4位数年份
2getMonth()获取月份(0-11,0代表一月)
3getDate()获取月份中的某一天(1-31)
4getHours()获取小时数(0-23)
5getMinutes()获取分钟数(0-59)
6getSeconds()获取秒数(0-59)
7getMilliseconds()获取毫秒数(0-999)
8getTime()获取自1970年1月1日以来的毫秒数
9getDay()获取星期中的某一天(0-6,0代表周日)

(2)使用示例

// 创建当前时间的日期对象
const date = new Date("2014-01-08 14:05:06");
console.log("新创建的Date对象:", date);

// 1、获取4位数年份
console.log("getFullYear()方法,获取4位数年份:", date.getFullYear());

// 2、获取月份(0-11,0代表一月)
console.log("getMonth()方法,获取月份:", date.getMonth() + 1);

// 3、获取月份中的某一天(1-31)
console.log("getDate()方法,获取月份中的某一天:", date.getDate());

// 4、获取小时数(0-23)
console.log("getHours()方法,获取小时数:", date.getHours());

// 5、获取分钟数(0-59)
console.log("getMinutes()方法,获取分钟数:", date.getMinutes());

// 6、获取秒数(0-59)
console.log("getSeconds()方法,获取秒数:", date.getSeconds());

// 7、获取毫秒数(0-999)
console.log("getMilliseconds()方法,获取毫秒数:", date.getMilliseconds());

// 8、获取自1970年1月1日以来的毫秒数
console.log("getTime()方法,获取自1970年1月1日以来的毫秒数:", date.getTime());

// 9、获取星期中的某一天(0-6,0代表周日)
console.log("getDay()方法,获取星期中的某一天:", date.getDay());

3、设置日期 

(1)常用方法

序号方法描述
1setFullYear() 设置4位数年份
2setMonth()设置月份(0-11,0代表一月)
3setDate()设置月份中的某一天(1-31)
4setHours()设置小时数(0-23)
5setMinutes()设置分钟数(0-59)
6setSeconds()设置秒数(0-59)
7setMilliseconds()设置毫秒数(0-999)

(2)使用示例

let date = new Date();
console.log("新创建的Date对象:", date);

// 1、设置4位数年份
date.setFullYear(2020);
console.log("setFullYear()方法,设置4位数年份:", date);

// 2、设置月份(0-11,0代表一月)
date.setMonth(10);
console.log("setMonth()方法,设置月份:", date);

// 3、设置月份中的某一天(1-31)
date.setDate(7);
console.log("setDate()方法,设置月份中的某一天:", date);

// 4、设置小时数(0-23)
date.setHours(12);
console.log("setHours()方法,设置小时数:", date);

// 5、设置分钟数(0-59)
date.setMinutes(24);
console.log("setMinutes()方法,设置分钟数:", date);

// 6、设置秒数(0-59)
date.setSeconds(48);
console.log("setSeconds()方法,设置秒数:", date);

// 7、设置毫秒数(0-999)
date.setMilliseconds(123);
console.log("setMilliseconds()方法,设置毫秒数:", date);

console.log("设置完成后的日期:", date);

4、格式转换

(1)常用方法

序号方法描述
1toString()把 Date 对象转换为字符串;
2toDateString()把 Date 对象的日期部分转换为字符串;
3toTimeString()把 Date 对象的时间部分转换为字符串;
4toLocaleString()把 Date 对象,转换为本地时间格式的字符串;
5toLocaleDateString()把 Date 对象的日期部分,转换为本地时间格式的字符串;
6toLocaleTimeString()把 Date 对象的时间部分,转换为本地时间格式的字符串;
7toJSON()把 Date 对象转换为JSON 数据格式字符串;

8

toISOString()把 Date 对象转换为 ISO 标准的日期格式;

(2)使用示例

let date = new Date("2014-01-08 14:05:06");
console.log("新创建的Date对象:", date);

// 1、把 Date 对象转换为字符串;
console.log("toString()方法,转换为字符串:", date.toString());

// 2、把 Date 对象的日期部分转换为字符串;
console.log("toDateString()方法,日期部分转换为字符串:", date.toDateString());

// 3、把 Date 对象的时间部分转换为字符串;
console.log("toTimeString()方法,时间部分转换为字符串:", date.toTimeString());

// 4、把 Date 对象,转换为本地时间格式的字符串;
console.log("toLocaleString()方法,转换为本地时间格式的字符串:", date.toLocaleString());

// 5、把 Date 对象的日期部分,转换为本地时间格式的字符串;
console.log("toLocaleDateString()方法,日期部分转换为本地时间格式的字符串:", date.toLocaleDateString());

// 6、把 Date 对象的时间部分,转换为本地时间格式的字符串;
console.log("toLocaleTimeString()方法,时间部分,转换为本地时间格式的字符串:", date.toLocaleTimeString());

// 7、把 Date 对象转换为JSON 数据格式字符串;
console.log("toJSON()方法,转换为JSON 数据格式字符串:", date.toJSON());

// 8、把 Date 对象转换为 ISO 标准的日期格式;
console.log("toISOString()方法,转换为 ISO 标准的日期格式:", date.toISOString());

 

5、获取时间戳

(1)常用方法

序号方法说明

1

Date.parse(new Date())13位,精确到秒;
2Math.round(new Date())13位,精确到毫秒;
3(new Date()).valueOf()13位,精确到毫秒;
4new Date().getTime()13位,精确到毫秒;
5+new Date()13位,精确到毫秒;

(2)使用示例 

// 1、使用Date.parse()
console.log("使用Date.parse()方法获取时间戳:", Date.parse(new Date()));

// 2、使用Math.round()
console.log("使用Math.round()方法获取时间戳:", Math.round(new Date()));

// 3、使用.valueOf()()
console.log("使用.valueOf()方法获取时间戳:", (new Date()).valueOf());

// 4、使用.getTime()
console.log("使用.getTime()方法获取时间戳:", (new Date()).getTime());

// 5、使用+new Date()
console.log("使用+new Date()方法获取时间戳:", +new Date());

三、格式化Date对象

不难发现,使用new Date()创建出来的日期对象,格式并不是想要的;

下面封装格式化日期的方法,供日常开发参考;

// 创建当前时间的日期对象
const date = new Date("2014-01-08 14:05:06");
console.log("新创建的Date对象:", date);

console.log(format1(date));
console.log(format2(date));
console.log(format3(date));
console.log(format4(date));
console.log(format5(date));
console.log(format6(date));
console.log(format7(date));

// 1、输出日期:y:M:d(不补0)
function format1(date){
    const year = date.getFullYear();
    const month =  date.getMonth() + 1;
    const day = date.getDate();
    return year + '-' + month + '-' + day;
}

// 2、输出日期:yyyy-MM-dd(补0)
function format2(date){
    let year = date.getFullYear();
    let month =  date.getMonth() + 1;
    let day = date.getDate();

    month = month < 10 ? "0" + month : month;
    day = day < 10 ? "0" + day : day;
    return year + '-' + month + '-' + day;
}

// 3、输出时间:H:m:s
function format3(date){
    const hour = date.getHours();
    const minute = date.getMinutes();
    const second = date.getSeconds();

    return hour + ':' + minute + ':' + second;
}

// 4、输出时间:HH:mm:ss
function format4(date){
    let hour = date.getHours();
    let minute = date.getMinutes();
    let second = date.getSeconds();

    hour = hour < 10 ? "0" + hour : hour;
    minute = minute < 10 ? "0" + minute : minute;
    second = second < 10 ? "0" + second : second;

    return hour + ':' + minute + ':' + second;
}

// 5、输出完整日期:y-M-d H:m:s
function format5(date){
    const year = date.getFullYear();
    const month =  date.getMonth() + 1;
    const day = date.getDate();
    const hour = date.getHours();
    const minute = date.getMinutes();
    const second = date.getSeconds();

    return year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second;
}

// 6、输出完整日期:yy-MM-dd HH:mm:ss
function format6(date){
    let year = date.getFullYear();
    let month =  date.getMonth() + 1;
    let day = date.getDate();
    let hour = date.getHours();
    let minute = date.getMinutes();
    let second = date.getSeconds();

    month = month < 10 ? "0" + month : month;
    day = day < 10 ? "0" + day : day;
    hour = hour < 10 ? "0" + hour : hour;
    minute = minute < 10 ? "0" + minute : minute;
    second = second < 10 ? "0" + second : second;

    return year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second;
}

// 7、输出完整日期:yy-MM-dd HH:mm:ss week
function format7(date){
    let year = date.getFullYear();
    let month =  date.getMonth() + 1;
    let day = date.getDate();
    let hour = date.getHours();
    let minute = date.getMinutes();
    let second = date.getSeconds();
    let week = ['日', '一', '二', '三', '四', '五', '六'][date.getDay()];

    month = month < 10 ? "0" + month : month;
    day = day < 10 ? "0" + day : day;
    hour = hour < 10 ? "0" + hour : hour;
    minute = minute < 10 ? "0" + minute : minute;
    second = second < 10 ? "0" + second : second;

    return year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second + ' 星期' + week;
}

======================================================================

每天进步一点点~!

Date对象在开发中属于高频点,没事可以多看看哦哦哦~~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1870209.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

youlai-boot项目的学习(3) 本地redis、MinIO的安装与配置

youlai-boot项目除了使用mysql数据库、还有redis&#xff0c;以及OSS服务&#xff0c;OSS除了云OSS服务&#xff0c;还有自部署的MinIO服务。 前面我们已经安装好了mysql数据库&#xff0c;那么我们来看看本地redis、MinIO服务怎么部署 环境 mac OS&#xff0c; iterm2&#…

中霖教育怎么样?注册会计师考试难吗?

中霖教育&#xff1a;注册会计师&#xff08;CPA&#xff09;考试的难度高吗&#xff1f; 对于不同背景的考生来说&#xff0c;注册会计师考试的挑战程度不同。那些有良好基础和充裕准备时间的考生&#xff0c;通过考试的可能性要超过那些从零开始且准备时间有限的人。 据最近…

YOLO目标检测综述(2024.6月最新!)

1 基本概念 目标检测&#xff08;Object Detection&#xff09;是计算机视觉领域的重要任务之一&#xff0c;旨在识别图像或视频中的特定目标并将其位置标记出来。与图像分类任务不同&#xff0c;目标检测要求不仅能够识别目标类别&#xff0c;还需要精确地定位目标的位置。由于…

1.2章节input输入函数语法使用和示例

在Python中&#xff0c;input() 函数用于从用户获取输入。这个函数会等待用户输入一行文本&#xff0c;然后按回车键&#xff0c;最后将输入的文本作为字符串返回。 一、基本语法 当你运行上面的代码时&#xff0c;它会打印出 "请输入一些文字: "&#xff0c;然后等…

.idea文件夹里面iml文件有啥用

.idea文件夹和其中的.iml文件对于IntelliJ IDEA项目非常重要&#xff0c;它们共同构成了IDEA对项目理解的基础。让我们详细了解一下这两者的作用&#xff1a; .idea文件夹 .idea文件夹包含了IntelliJ IDEA项目的所有配置信息&#xff0c;包括但不限于&#xff1a; 编译器设置…

jmeter之接口数据与数据库数据检验!

前言 本文讲解使用jmeter测试接口&#xff0c;然后与数据库里面的数据进行校验对比。本节使用一个新增数据的接口&#xff0c;新增一条数据&#xff0c;然后在数据库里面进行查询&#xff0c;是否能够查询到此条数据。 一、接口环境搭建 1.1 新建一个http请求&#xff0c;写…

3d合并模型一直加载有哪些原因---模大狮模型网

当在3D软件中合并3d模型时&#xff0c;可能会遇到加载时间过长或持续加载的情况。这可能是由以下原因之一引起的&#xff1a; 一&#xff1a;模型复杂度 合并的模型可能非常复杂&#xff0c;包含大量的面片、顶点或纹理等。这会增加加载和处理的时间。解决方法是优化模型&…

希喂生骨肉冻干值得入手吗?拯救瘦弱、增强抵抗力最强主食测评!

希喂生骨肉冻干值得入手吗&#xff1f;很多小姐妹觉着自家猫咪太瘦了、体质不咋好&#xff0c;换季还敏感、掉毛、不吃东西&#xff0c;听说生骨肉冻干好吸收、营养好&#xff0c;可以改善体质、拯救瘦弱、增强抵抗力&#xff0c;为了图省事&#xff0c;开始盲入生骨肉冻干&…

常见的Java开发难题包含解决办法内存泄漏异常处理代码质量和维护

常见的Java开发难题包含解决办法内存泄漏异常处理代码质量和维护 学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……&#xff09; 2、学会Oracle数据库入门到入土用法(创作中……&#xff09; 3、手把手教你开发炫酷的vbs脚本制作(完善中……&#xff09; 4、牛逼哄哄的 I…

解决卸载TabX explorer软件后导致系统文件资源管理器无法正常使用问题

最近安装了最新版本的鲁大师&#xff0c;安装过程中不小心同时安装了捆绑软件TabX explorer。这个软件和系统自带的文件资源管理器很像&#xff0c;最后弹出会员到期才发现&#xff0c;这个不是系统文件资源管理器&#xff0c;是第三方的文件资源管理器&#xff0c;就按正常流程…

解锁高效运维新纪元:网络基础设施数字孪生管理工具

随着信息技术的飞速发展&#xff0c;网络基础设施的运维管理变得日益复杂。北京耐威迪科技股份有限公司凭借其创新技术&#xff0c;推出了nVisual网络基础设施数字孪生管理工具&#xff0c;这一革命性的解决方案不仅提升了运维效率&#xff0c;更在成本节约和项目进度上实现了突…

cad报错:由于找不到vcruntime140.dll无法继续执行代码

在现代的工程设计中&#xff0c;计算机辅助设计&#xff08;CAD&#xff09;软件已经成为了工程师们不可或缺的工具。然而&#xff0c;在使用CAD软件的过程中&#xff0c;有时我们会遇到一些问题&#xff0c;其中之一就是“找不到vcruntime140.dll”的错误提示。本文将详细介绍…

智慧校园-就业管理系统总体概述

在当代教育与信息技术深度融合的背景下&#xff0c;智慧校园就业管理系统成为了连接学生、高校与企业的重要纽带&#xff0c;它以创新的服务理念和技术手段&#xff0c;重塑了职业规划与就业服务的传统模式。这一系统致力于为即将步入社会的学生们提供全面、个性化的支持&#…

SaaS产品运营:维护四个不同类型的合作伙伴的实战指南

在SaaS&#xff08;软件即服务&#xff09;行业的竞争中&#xff0c;与合作伙伴建立并维护良好关系至关重要。不同类型的合作伙伴对于产品的推广、市场覆盖和用户增长都起着不同的作用。如何有效维护这四种类型合作伙伴&#xff1f;看个案例一起学习吧。 一、合作伙伴的四种类型…

使用sorted对字典排序

有时我们需要按照字典数据的键值对进行排序&#xff0c;这个时候就可以用到sorted函数。 import operator dic{"testA":3,"testC":1,"testB":4,"testD":2} dicnsorted(dic.items(),keyoperator.itemgetter(0)) print(dicn) 比如我们要…

DB-GPT Docker部署

感谢阅读 拉取镜像linux判断拉取是否成功的方法windows判断拉取是否成功的方法 模型以及启动容器模型启动容器 界面如下&#xff08;0.56&#xff09;&#xff1a; 拉取镜像 docker pull eosphorosai/dbgpt:latestlinux判断拉取是否成功的方法 docker images | grep "eo…

IDEA 插件推荐【一】

好使的插件可以让工作事倍功半。下面就推荐一些常用的IDEA插件&#xff0c;如果你有其他好使的插件&#xff0c;欢迎评论区留言分享出来~ 1.Key Promoter X Key Promoter X 插件&#xff0c;IDEA 快捷键提示工具。 在每次我们使用鼠标进行 IDEA 的某个操作&#xff0c;Key Pr…

AGV叉车自动化存取货场景到底有哪些?

AGV 在各种新技术发展的今天&#xff0c;叉车越来越智能化&#xff0c;agv无人叉车作为工业自动化领域的不可或缺的搬运设备&#xff0c;被广泛应用于各个行业中&#xff0c;主要用来实现重复性搬运、搬运工作强度大、工作环境恶劣、环境要求高的领域&#xff0c;近些年&#x…

C# OpenCvSharp 入门

摘要 C# OpenCvSharp 是一个基于OpenCV&#xff08;开源计算机视觉库&#xff09;的C#封装库&#xff0c;它提供了一组功能强大的工具和函数&#xff0c;用于图像处理、计算机视觉和计算机图形学等领域。通过使用OpenCvSharp库&#xff0c;您可以在C#应用程序中轻松地实现各种图…

【Linux】线程id与互斥(线程三)

上一期我们进行了线程控制的了解与相关操作&#xff0c;但是扔就有一些问题没有解决 本章第一阶段就是解决tid的问题&#xff0c;第二阶段是进行模拟一个简易线程库&#xff08;为了加深对于C库封装linux原生线程的理解&#xff09;&#xff0c;第三阶段就是互斥。 目录 线程id…