javascript 封装Date日期类实例详解
发布时间 - 2026-01-11 01:27:58 点击率:次javascript-封装Date日期类

(一)对日期进行格式化
自定义Date日期类的format()格式化方法
方式一:(非原创)
// 对Date的扩展,将 Date 转化为指定格式的String
// 月(M)、日(d)、小时(H)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
// 例子:
// (new Date()).Format("yyyy-MM-dd HH:mm:ss.S") ==> 2016-09-19 16:32:53.731
// (new Date()).Format("yyyy-M-d H:m:s:S") ==> 2016-9-19 16:40:9:955
Date.prototype.Format = function (fmt) { //author: meizz
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), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
};
测试:
window.onload=function() {
var date = new Date();
var b = date.toLocaleDateString();//获取的格式为:2016年9月19日
var d = date.toLocaleTimeString();//下午4:42:46
var e = date.toLocaleString();//2016年9月19日 下午4:44:02
var f = date.toDateString();//Mon Sep 19 2016
var g = date.toUTCString();//Mon, 19 Sep 2016 08:45:42 GMT
var h = date.toString();//Mon Sep 19 2016 16:46:23 GMT+0800 (中国标准时间)
//自定义日期格式
var c = date.Format("yyyy-MM-dd HH:mm:ss");//format()方法是自定义的
document.getElementById("aa").value = c;
};
(二)根据日期返回本周周一和周日的日期
/**
* 根据日期返回本周周一和周日的日期
* @param day
* 参数日期
* @param num
* 第几周
* @return oneWeek
* 周一,周日所在日期
*/
function getWeekDate(day,num) {
num = num || 0;
// 返回值:周一和周日所在的日期
var oneWeek = {};
// 初始日期
var initDate = "";
// 截取年月日
initDate = day.split(' ')[0];
// ie兼容性问题,将yyyy-MM-dd转换成yyyy/MM/dd
initDate = initDate.replace(/-/g,"/");
// 将string转换成Date
initDate = new Date(Date.parse(initDate));//格式只能是yyyy/MM/dd
// 返回 day距离1970 年 1 月 1 日0时0分的毫秒数
var nowTime = initDate.getTime();
// 返回星期的某一天的数字: 0(周日) 到 6(周六)
var weekNum = initDate.getDay();
// 一天所代表的毫秒数
var oneDayTime = 24 * 60 * 60 * 1000;
//显示周一
var MondayTime = nowTime - (weekNum - 1) * oneDayTime ;
//显示周日
var SundayTime = nowTime + (7 - weekNum) * oneDayTime ;
if (0 != num) {
MondayTime += 7 * num * oneDayTime;
SundayTime += 7 * num * oneDayTime;
}
//初始化日期时间
var monday = new Date(MondayTime);
var sunday = new Date(SundayTime);
// formatDate是自定义的格式化方法
monday = monday.formatDate('yyyy-MM-dd');
sunday = sunday.formatDate('yyyy-MM-dd');
oneWeek.Monday = monday;
oneWeek.Sunday = sunday;
return oneWeek;
}
测试:
var week = getWeekDate('2017-05-27',0);
console.log(week.Monday + "," + week.Sunday);
注意:
Date.parse()具有兼容性问题,低版本IE浏览器不支持"yyyy-MM-dd"转换成Date,只支持"yyyy/MM/dd"转换成日期。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# javascript-封装Date日期类
# JS中Date日期函数中的参数使用介绍
# 浅谈JS日期(Date)处理函数
# js Date()日期函数浏览器兼容问题解决方法
# JavaScript Date对象 日期获取函数
# javascript学习笔记(六) Date 日期类型
# 浅谈JavaScript Date日期和时间对象
# JS中Date的一些常用方法小结
# 周日
# 自定义
# 转换成
# 可以用
# 本周
# 下午
# 希望能
# 不支持
# 谢谢大家
# 转化为
# 只能用
# 中国
# 格式为
# 几周
# 返回值
# window
# getDate
# getHours
# getSeconds
# getMinutes
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用
独立制作一个网站多少钱,建立网站需要花多少钱?
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】
Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
焦点电影公司作品,电影焦点结局是什么?
三星网站视频制作教程下载,三星w23网页如何全屏?
详解Huffman编码算法之Java实现
如何在宝塔面板创建新站点?
Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知
javascript日期怎么处理_如何格式化输出
C语言设计一个闪闪的圣诞树
高防服务器如何保障网站安全无虞?
香港服务器WordPress建站指南:SEO优化与高效部署策略
微信小程序 input输入框控件详解及实例(多种示例)
消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工
Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】
Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程
谷歌Google入口永久地址_Google搜索引擎官网首页永久入口
Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
佛山网站制作系统,佛山企业变更地址网上办理步骤?
微信小程序 wx.uploadFile无法上传解决办法
详解jQuery中的事件
Python制作简易注册登录系统
DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解
Laravel如何实现一对一模型关联?(Eloquent示例)
,怎么在广州志愿者网站注册?
如何在七牛云存储上搭建网站并设置自定义域名?
Laravel如何实现多对多模型关联?(Eloquent教程)
Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道
Laravel如何配置和使用缓存?(Redis代码示例)
详解Android图表 MPAndroidChart折线图
奇安信“盘古石”团队突破 iOS 26.1 提权
Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】
HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】
Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用
Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?
Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议
高性能网站服务器配置指南:安全稳定与高效建站核心方案
如何彻底删除建站之星生成的Banner?
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
Swift开发中switch语句值绑定模式
Python自动化办公教程_ExcelWordPDF批量处理案例
UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
香港服务器租用每月最低只需15元?
jQuery validate插件功能与用法详解
Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率

