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

一、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.mzph.cn/news/861995.shtml

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

相关文章

Bitmap位图数据排列方式

读取dicom C# 使用fo-dicom操作dicom文件-CSDN博客 创建位图 通过读取dicom得到像素内存&#xff0c;本例单指彩色图像。 Bitmap dataBmp new Bitmap(imageWidth, imageHeight, stride, PixelFormat.Format24bppRgb, dstBmp); 当像素的内存按照RGB的排列模式时&#xff0c…

深入解析:npm cache clean --force命令的威力与智慧

深入解析&#xff1a;npm cache clean --force命令的威力与智慧 在JavaScript开发的世界中&#xff0c;npm作为Node.js的包管理器&#xff0c;扮演着至关重要的角色。然而&#xff0c;随着项目的不断迭代和依赖的增多&#xff0c;npm的缓存可能会变得混乱&#xff0c;甚至引发…

【人生感悟】记录一些过来人的感悟

不管前方的路有多苦&#xff0c;只要走的方向正确&#xff0c;不管多么崎岖不平&#xff0c;都比站在原地更接近幸福。我只能送你到这里&#xff0c;剩下的路你要自己走&#xff0c;不要回头。你不能等待别人来安排你的人生&#xff0c;自己想要的&#xff0c;自己争取。生命可…

08 - matlab m_map地学绘图工具基础函数 - 绘制线、图例、添加文字注释等函数

08 - matlab m_map地学绘图工具基础函数 - 绘制线、图例、添加文字注释等函数 0. 引言1. 关于m_line2. 关于m_quiver3. 关于m_text4. 关于m_plot5. 结语 0. 引言 本篇介绍下m_map中添加绘制基础线&#xff08;m_line、m_plot&#xff09;、绘制箭头&#xff08;m_quiver&#x…

鸿蒙开发Ability Kit(程序框架服务):【ServiceAbility切换】 组件切换

ServiceAbility切换 FA模型中的ServiceAbility对应Stage模型中的ServiceExtensionAbility。Stage模型下的ServiceExtensionAbility为系统API&#xff0c;只有系统应用才可以创建。因此&#xff0c;FA模型的ServiceAbility的切换&#xff0c;对于系统应用和三方应用策略有所不同…

链路追踪详解(五):链路传播 Header 详解

链路追踪作为分布式系统中不可或缺的一部分&#xff0c;可以帮助开发和运维人员了解请求在系统中的流转链路&#xff0c;快速定位问题和识别性能瓶颈。而链路传播 Header 是实现跨服务调用链跟踪的关键机制&#xff0c;通过链路传播 Header&#xff0c;使得跟踪信息在不同服务间…

利用Python控制终端打印字体的颜色和格式

利用Python控制终端打印字体的颜色和格式—操作详解&#xff08;ANSI转义序列&#xff09; 一、问题描述二、ANSI转义序列三、具体代码和显示效果&#xff08;看懂这段代码&#xff0c;以后可随心控制字体的打印格式&#xff09; 欢迎学习交流&#xff01; 邮箱&#xff1a; z……

驾驭Vim的扩展宇宙:插件管理器全攻略

驾驭Vim的扩展宇宙&#xff1a;插件管理器全攻略 在Vim的世界里&#xff0c;插件是扩展编辑器功能、提升开发效率的神器。Vim-plug和Vundle是两款流行的Vim插件管理器&#xff0c;它们使得安装、更新和管理插件变得前所未有的简单。本文将带你深入了解Vim插件管理器的使用&…

单片机+DS18B20温度控制程序仿真与原理图PCB文件 可设上下限

资料下载地址&#xff1a;单片机DS18B20温度控制程序仿真与原理图PCB文件 可设上下限 目录 1、项目介绍 2、实物图 ​3、电路原理图 ​4、仿真原理图 ​5、部分代码 1、项目介绍 基于51单片机温度控制&#xff0c;使用18b20来做温度传感器&#xff0c;四位共阳数码管显…

【消息队列】Kafka学习笔记

概述 定义 传统定义: 一个分布式的, 基于发布订阅模式的消息队列, 主要应用于大数据实时处理领域新定义: 开源的分布式事件流平台, 被用于数据管道/流分析/数据集成 消息队列的使用场景 传统消息队列的主要应用场景包括: 削峰: 解耦: 异步: 两种模式 点对点模式 发布/订…

【深度学习】python之人工智能应用篇——图像生成技术(一)

说明&#xff1a; 两篇文章根据应用场景代码示例区分&#xff0c;其他内容相同。 图像生成技术&#xff08;一&#xff09;&#xff1a;包含游戏角色项目实例代码、图像编辑和修复任务的示例代码和图像分类的Python代码示例 图像生成技术&#xff08;二&#xff09;&#xff1a…

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

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

golang time.Time 时间格式 format 布局字符 layout 整理

go语言中的时间格式字符串和我们常见的其他语言不太一样&#xff0c; 他的格式化字符串是一个时间&#xff0c;即2006-01-02 15:04:05 &#xff0c; 细心的你可能会发现&#xff0c;这个是一个很特别的时间&#xff0c; 他的每一段都是唯一的&#xff0c;这个特别的时间的格式和…

基于ChatMemory打造AI取名大师

当我们真正开发一款应用时&#xff0c;存储用户与大模型的历史对话是非常重要的&#xff0c;因为大模型需要利用到这些历史对话来理解用户最近一句话到底是什么意思。 比如你跟大模型说“换一个”&#xff0c;如果大模型不基于历史对话来分析&#xff0c;那么大模型根本就不知…

恭喜!Z医生喜提世界名校—斯坦福大学访问学者邀请函

➡️【院校简介】 斯坦福大学&#xff08;Stanford University&#xff09;&#xff0c;全称为小利兰斯坦福大学&#xff0c;简称“斯坦福”&#xff0c;位于美国加州旧金山湾区南部帕罗奥多市境内&#xff0c;临近高科技园区硅谷&#xff0c;是私立研究型大学&#xff0c;全球…

HarmonyOS Next开发学习手册——内存管理(GC)

GC&#xff08;全称 Garbage Collection&#xff09;&#xff0c;即垃圾回收。在计算机领域&#xff0c;GC就是找到内存中的垃圾&#xff0c;释放和回收内存空间。当前主流编程语言实现的GC算法主要分为两大类&#xff1a;引用计数和对象追踪&#xff08;即Tracing GC&#xff…

threejs的学习(二)

上次我们说了如何搭建环境&#xff0c;并成功显示了一个静止的方块&#xff0c; 1.通过轨道控制器查看方块&#xff0c;同时添加坐标轴辅助器 main.js import * as THREE from "../assets/js/three.module"; import { OrbitControls } from "../../../three.j…

零拷贝技术(zero copy),DMA,mmap,sendfile

在一些高性能的IO场景下我们经常能听到零拷贝技术&#xff0c;这是个不错的话题。 零拷贝指的是内核态与用户态之间的数据拷贝&#xff0c;而这两个区域的数据拷贝只能依靠CPU&#xff0c;但是CPU最重要的作用应该是运算。 一、DMA的由来 在没有DMA之前&#xff0c;磁盘的IO…

全国211大学名单及排名

序号 名称 省份 985 211 双一流 1 北京大学 北京 是 是 是 2 清华大学 北京 是 是 是 3 复旦大学 上海 是 是 是 4 上海交通大学 上海 是 是 是 5 浙江大学 浙江 是 是 是 6 国防科技大学 湖南 是 是 是 7 中国人民大学 北京 是 …

Vue.js中的虚拟DOM

一.节点和状态 在我们平常对DOM操作的时候,之前在vue没有诞生之前,以命令式的方式对DOM进行操作,页面上的每一个元素都可以看做成一个节点状态。 二.剔除和渲染 框架都有自己渲染的方式,假设一个页面的状态,随着Ajax请求的放松,状态发生改变,有以下的两种方式供你选择&#…