찾다
웹 프론트엔드JS 튜토리얼확장된 JavaScript 날짜 메서드 구현 코드(프로토타입)_javascript 기술

최근 프로젝트의 일부 기능이 재구축되고 있으며 프런트 엔드는 기본적으로 원래 디자인을 뒤집어 놓았고 지난 6개월 동안의 축적을 바탕으로 새로운 솔루션이 있습니다. 요즘 프론트 엔드를 리팩토링하고 디자인하고 있는데 몇 가지 문제에 직면했습니다. 이 모듈의 주 목적이 시간 제어이기 때문에 많은 수의 js Date 객체를 운용하지만, 네이티브 js Date 메소드가 너무 적어 운용이 너무 불편합니다. 그래서 저는 Date의 프로토타입을 확장할 계획입니다.

저는 오랫동안 C# 개발에 참여해 왔으며 C#이 제 생각에 영향을 미쳤습니다. C#에서는 DateTime의 연산이 매우 편리해서 js의 Date를 확장하는데 사용했습니다.

코드 복사 코드는 다음과 같습니다.

//지정된 밀리초 수를 추가합니다. 이 인스턴스 Value on
Date.prototype.addMilliseconds = function (value) {
var millisecond = this.getMilliseconds();
this.setMilliseconds(millisecond value)
return this; };
//이 인스턴스의 값에 지정된 초 수를 추가합니다.
Date.prototype.addSeconds = function (value) {
var second = this.getSeconds()
this. setSeconds(두 번째 값);
return this;
};
//이 인스턴스의 값에 지정된 시간(분)을 추가합니다.
Date.prototype.addMinutes = function(value) {
var hour = this.addMinutes();
this.setMinutes(분 값);
return this;
}
//이 인스턴스의 값에 추가하세요
Date.prototype.addHours = function (value) {
var hour = this.getHours();
this.setHours(hour value)
return this; // 이 인스턴스의 값에 지정된 일수를 더합니다.
Date.prototype.addDays = function (value) {
var date = this.getDate()
this.setDate(date value) ;
return this;
};
//이 인스턴스의 값에 지정된 주 수를 추가합니다.
Date.prototype.addWeeks = function(value) {
return this.addDays (값 * 7);
};
//이 인스턴스의 값에 지정된 개월 수를 추가합니다.
Date.prototype.addMonths = function (value) {
var Month = this. getMonth() ;
this.setMonth(month value);
return this;
}
//이 인스턴스의 값에 지정된 연도를 추가합니다.
Date.prototype. addYears = function (value) {
var year = this.getFullYear();
this.setFullYear(연도 값)
return this;
}//날짜 표시 형식 =" yyyy-MM-dd hh:mm:ss";
Date.prototype.format = 함수(형식) {
var o = {
"M ": this.getMonth() 1, / /월
"d ": this.getDate(), //일
"h ": this.getHours(), //시간
"m ": this.getMinutes(), //분
"s ": this.getSeconds(), //초
"q ": Math.floor((this.getMonth() 3) / 3), //quarter
"S": this .getMilliseconds () //밀리초
}
if (/(y )/.test(format)) {
format = format.replace(RegExp.$1, (this.getFullYear() "") .substr (4 - RegExp.$1.length));
}
for (var k in o) {
if (new RegExp("(" k ")").test(format)) {
format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" o[k]).substr(("" o[k]).length )) ;
}
}
반환 형식;
}


사용 방법에 대해서는 더 말할 필요가 없을 것 같습니다.



코드 복사
코드는 다음과 같습니다. var date = new Date() date.addHours(1);
날짜 .addYears(2);
document.write(date.format('yyyy-MM-dd hh:mm:ss'))

🎜>이 확장 방법이 모든 사람에게 도움이 되기를 바랍니다.
성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
php如何使用PHP的SNMP扩展?php如何使用PHP的SNMP扩展?Jun 02, 2023 am 10:22 AM

PHP的SNMP扩展是一种使PHP能够通过SNMP协议与网络设备进行通信的扩展程序。使用该扩展可以方便地获取和修改网络设备的配置信息,例如路由器、交换机等设备的CPU、内存、网络接口等信息,也可以进行诸如开关设备端口等控制操作。本文将介绍SNMP协议的基础知识、PHP的SNMP扩展的安装方法以及如何在PHP中使用SNMP扩展进行网络设备的监控和控制。一、SN

如何使用极光推送扩展,在PHP应用中实现批量消息推送功能如何使用极光推送扩展,在PHP应用中实现批量消息推送功能Jul 25, 2023 pm 08:07 PM

如何使用极光推送扩展,在PHP应用中实现批量消息推送功能在移动应用的开发中,消息推送是一项非常重要的功能。极光推送是一种常用的消息推送服务,提供了丰富的功能和接口。本文将介绍如何使用极光推送扩展在PHP应用中实现批量消息推送功能。第一步:注册极光推送账号并获取API密钥首先,我们需要在极光推送官网(https://www.jiguang.cn/push)注册

php如何使用PHP的ZipArchive扩展?php如何使用PHP的ZipArchive扩展?Jun 02, 2023 am 08:13 AM

PHP是一种流行的服务器端语言,可以用来开发Web应用程序和处理文件。PHP的ZipArchive扩展是一个强大的工具,可以在PHP中操作zip文件。在这篇文章中,我们将介绍如何使用PHP的ZipArchive扩展来创建、读取和修改zip文件。一、安装ZipArchive扩展在使用ZipArchive扩展之前,需要确保已经安装了这个扩展。安装方法如下:1.安

php如何使用PHP的POSIX扩展?php如何使用PHP的POSIX扩展?Jun 03, 2023 am 08:01 AM

PHP的POSIX扩展是一组允许PHP与POSIX兼容操作系统进行交互的函数和常量。POSIX(PortableOperatingSystemInterface)是一组操作系统接口标准,旨在允许软件开发人员编写可在各种UNIX或UNIX类操作系统上运行的应用程序。本文将介绍如何使用PHP的POSIX扩展,包括安装和使用。一、安装PHP的POSIX扩展在

php如何使用PHP的Phar扩展?php如何使用PHP的Phar扩展?May 31, 2023 pm 11:31 PM

随着PHP的发展和应用场景的不断扩大,Phar扩展已经成为PHP编程中的重要一环。Phar是PHPArchive的缩写,它可以将多个PHP文件和资源打包成单个文件,方便进行分发和管理。本文将介绍如何使用PHP的Phar扩展来进行打包和管理。安装Phar扩展首先,我们需要检查PHP是否已经安装Phar扩展。在Linux下,通过终端输入以下命令:php-m

教程:使用百度云推送(Baidu Push)扩展在PHP应用中实现消息推送功能教程:使用百度云推送(Baidu Push)扩展在PHP应用中实现消息推送功能Jul 26, 2023 am 09:25 AM

教程:使用百度云推送(BaiduPush)扩展在PHP应用中实现消息推送功能引言:随着移动应用的迅猛发展,消息推送功能在应用程序中变得越来越重要。为了实现即时通知和消息推送功能,百度提供了一种强大的云推送服务,即百度云推送(BaiduPush)。在本教程中,我们将学习如何使用百度云推送扩展(PHPSDK)在PHP应用中实现消息推送功能。我们将使用百度云

PHP和WebDriver扩展:如何模拟用户点击和输入操作PHP和WebDriver扩展:如何模拟用户点击和输入操作Jul 07, 2023 pm 05:10 PM

PHP和WebDriver扩展:如何模拟用户点击和输入操作近年来,随着Web应用程序的快速发展,自动化测试变得越来越重要。在自动化测试中,模拟用户操作是一个关键的环节,它可以使我们更准确地测试和验证我们的应用程序。在PHP开发中,我们通常使用SeleniumWebDriver来实现自动化测试。SeleniumWebDriver是一种强大的工具,它可以模拟

php如何使用PHP的Tokenizer扩展?php如何使用PHP的Tokenizer扩展?Jun 02, 2023 am 08:25 AM

PHP是一种流行的服务器端脚本语言,因其易用性和灵活性而备受欢迎。PHP的Tokenizer扩展是一种强大的工具,它允许你将PHP代码分解为令牌,以便进行语法分析和其他操作。在本文中,我们将介绍如何使用PHP的Tokenizer扩展,以及它的一些基本概念和用法。令牌(Token)是指代码中的最小单位。Token被解析器(Parser)用于生成抽象语法树(AS

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구