获取和格式化时间实用笔记1.日期格式化 Date.prototype.format = function(format) { var o = { "M+" : this.getMonth()+1, //month "d+" : this.getDate(), //day "h+" : this.getHours(), //hour "m+" : this.getMinutes(), //minute "s+" : this.getSeconds(), //second "q+" : Math.floor((this.getMonth()+3)/3), //quarter "S" : this.getMilliseconds() //millisecond } 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)); return format; } 根据给定文件的信息,我们可以总结出以下几个相关的IT知识点: ### 1. JavaScript 日期格式化方法 在JavaScript中,为了方便地对日期进行格式化处理,可以为`Date`对象扩展一个自定义的方法`format`。这个方法允许我们指定一个格式字符串,并返回相应格式化的日期字符串。 #### 代码实现: ```javascript Date.prototype.format = function(format) { var o = { "M+": this.getMonth() + 1, // month "d+": this.getDate(), // day "h+": this.getHours(), // hour "m+": this.getMinutes(), // minute "s+": this.getSeconds(), // second "q+": Math.floor((this.getMonth() + 3) / 3), // quarter "S": this.getMilliseconds() // millisecond }; 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)); return format; }; ``` ### 2. 获取并设置HTML元素中的当前日期 为了将格式化后的当前日期显示在HTML页面中,可以使用以下方式获取当前日期,并将其格式化后赋值给某个HTML元素(例如输入框)。 #### 示例代码: ```javascript function getTodayTime() { var now = new Date(); $("#time").val(now.format('yyyy-MM-dd')); } ``` 这里假设页面上有一个ID为`time`的输入框元素,`getTodayTime`函数会将当前日期以`yyyy-MM-dd`格式显示在该输入框内。 ### 3. 判断是否为闰年以及计算某月天数 在实际应用中,经常需要判断某一年是否为闰年,以及计算某个月份的具体天数。下面的函数可以帮助实现这一功能。 #### 判断是否为闰年 ```javascript function isLeapYear(year) { var bolRet = false; if (0 == year % 4 && ((year % 100 != 0) || (year % 400 == 0))) { bolRet = true; } return bolRet; } ``` #### 计算某月天数 ```javascript function getMonthDays(year, month) { var days = m_aMonHead[month - 1]; // 假设m_aMonHead数组已定义,存储每个月的基本天数 if ((month == 2) && isLeapYear(year)) days++; return days; } ``` ### 4. 检查日期是否过期 在很多场景下需要检查一个特定的日期是否已经过期,例如对于会员有效期、订单有效期限等。下面的函数可以用来完成这个任务。 #### 示例代码: ```javascript function checkExpiration(time) { var date = new Date(); var year = date.getFullYear(); var month = date.getMonth() + 1; var day = date.getDate(); if (day < 2) { if (month == 1) { month = 12; year = year - 1; } else { month = month - 1; } day = getMonthDays(year, month) - day + 1; } if (month < 10) { month = "0" + month; } if (day < 10) { day = "0" + day; } var today = year + "-" + month + "-" + day; if (time < today) { alert("日期已过期"); } } ``` ### 5. Java 获取系统当前日期 在Java中,可以通过`System.currentTimeMillis()`获取当前时间戳,再通过`SimpleDateFormat`类进行格式化处理。 #### 示例代码: ```java private void getCurrentDate() throws ParseException { SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd"); Date curDate = new Date(System.currentTimeMillis()); String d = sDateFormat.format(curDate); Date da = sDateFormat.parse(d); // 格式化后的日期 java.sql.Date sqlDate = new java.sql.Date(da.getTime()); } ``` ### 6. JavaScript 中的日期比较 在前端开发中,有时需要比较两个日期的大小,以确保某些逻辑的正确性。下面的示例展示了如何在JavaScript中实现这一功能。 #### 示例代码: ```javascript function checkDates() { var time1 = $('#time1').val(); var time2 = $('#time2').val(); if (time1 !== "" && time2 !== null && time2 !== "" && time1 > time2) { alert("开始时间不能大于结束时间"); return false; } } ``` 以上就是基于给定文件中提到的关键知识点的详细解析。这些知识点不仅适用于日常开发工作中,也能够帮助开发者更好地理解和掌握日期处理的相关技巧。
Date.prototype.format = function(format)
{
var o = {
"M+" : this.getMonth()+1, //month
"d+" : this.getDate(), //day
"h+" : this.getHours(), //hour
"m+" : this.getMinutes(), //minute
"s+" : this.getSeconds(), //second
"q+" : Math.floor((this.getMonth()+3)/3), //quarter
"S" : this.getMilliseconds() //millisecond
}
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));
return format;
}
function gshtime(){
var now = new Date();
$("#time").val(now.format('yyyy-MM-dd'));
}
注:time为页面上的id
2.
//判断某年是否为闰年
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 技术资料分享以太网开发入门很好的技术资料.zip
- 技术资料分享一种基于PWM的电压输出DAC电路设计很好的技术资料.zip
- 技术资料分享使用SAM-BA更新jlink固件很好的技术资料.zip
- 技术资料分享任天堂产品系统文件很好的技术资料.zip
- 水下鱼检测数据集VOC+YOLO格式2303张1类别.zip
- Android开发代码规范中文最新版本
- 技术资料分享蓝牙串口助手 v1.97很好的技术资料.zip
- 技术资料分享简易0S设计很好的技术资料.zip
- 技术资料分享基于STM32的USB程序开发笔记很好的技术资料.zip
- 技术资料分享基于S3C44B0X的JPEG图像解码及LCD显示的实现很好的技术资料.zip