`
zhangjim
  • 浏览: 52439 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

js字符串转为日期比较大小

阅读更多

demo1:dd-MM-yyyy类型的日期大小比较1:

<script>
function dateCompare(strDate1,strDate2){
	var date1 = stringToDate(strDate1);
	var date2 = stringToDate(strDate2);
	var result = Date.parse(date1) - Date.parse(date2);
	return result;
}

function stringToDate(dateStr){ 
    var newDateStr = dateStr.substr(6,4)+"-"+dateStr.substr(3,2)+"-"+dateStr.substr(0,2); 
	var date = new Date(newDateStr);
	if (isNaN(newDateStr)){           
        var arys= newDateStr.split('-');     
        date = new Date(arys[0], arys[1] - 1, arys[2]);      
    }
	return date;
}
</script>

  

demo2:日期大小比较2

<html>
	<head>
		<script language="javascript" type="text/javascript">
			/** 日期比较 **/
			function compareDate(strDate1,strDate2)
			{
				var date1 = new Date(strDate1.replace(/\-/g, "\/"));
				var date2 = new Date(strDate2.replace(/\-/g, "\/"));
				return date1-date2;
			}
			
			/** 比较 **/
			function doCompare(){
				var strDate1 = document.getElementById("strDate1").value;
				var strDate2 = document.getElementById("strDate2").value;
				var result = compareDate(strDate1,strDate2);
				if ( result>0 ) {
					alert("strDate1晚于strDate2");
				}else if( result<0 ){
					alert("strDate1早于strDate2");
				}else if ( result==0 ){
					alert("strDate1等于strDate2");
				}
			}
		</script>
	</head>
	<body>
		<input type="text" id="strDate1" name="strDate1" value="2012-07-01"/>
		<input type="text" id="strDate2" name="strDate2" value="2012-08-01"/>
		<input type="button" id="compareBtn" name="compareBtn" value="比较" onClick="doCompare();"/>
	</body>
</html>

 

demo3:格式化日期为字符串

<script language="JavaScript">
/**
 * 格式化日期
 * 格式 yyyy-MM-dd hh:mm:ss
 */
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;
}

// 调用方法:
var time1 = new Date().format("yyyy-MM-dd"); 
alert(time1);

</script>

 

demo4:日期的特殊处理

<script language="JavaScript">
/**
 * 加上天数返回新的日期
 * iDay 天数
 */
Date.prototype.addDay = function(iDay) {
	var d = new Date(this);
	d.setDate(d.getDate() + iDay);
	return d;
}
/**
 * 加上月数返回新的日期
 * iMonth 月数
 */
Date.prototype.addMonth = function(iMonth) {
	var d = new Date(this);
	d.setMonth(d.getMonth() + iMonth);
	return d;
}
/**
 * 获得周的第一天日期
 */
Date.prototype.getWeekFirstDate = function() {
	//中国周的第一天是周一
	//return this.addDay(-this.getDay() + 1);
	//周的第一天是周日
	return this.addDay(-this.getDay());
}
/**
 * 获得周的最后一天日期
 */
Date.prototype.getWeekLastDate = function() {
	//中国周的最后一天是周日
	//return this.addDay(7 - this.getDay());
	//周的最后一天是周六
	return this.addDay(6 - this.getDay());
}
/**
 * 获得月的第一天日期
 */
Date.prototype.getMonthFirstDate = function() {
	return new Date(this.getYear(), this.getMonth(), 1);
}
/**
 * 获得月的最后一天日期
 */
Date.prototype.getMonthLastDate = function() {
	return new Date(this.getYear(), this.getMonth() + 1, 0);
}
/**
 * 获得星期几
 */
Date.prototype.getWeekStr = function() {
	var weekNumber = [ "日", "一", "二", "三", "四", "五", "六" ];
	return "星期" + weekNumber[this.getDay()];
}
function test() {
	alert("今天加一天是:" + new Date().addDay(1).format("yyyy-MM-dd hh:mm:ss"));
	alert("今天加一个月是:" + new Date().addMonth(1).format("yyyy-MM-dd hh:mm:ss"));
	alert("今天是" + new Date().getWeekStr());
	alert("当前周第一天是 : " + new Date().getWeekFirstDate().format("yyyy-MM-dd"));
	alert("当前周最后一天是 : " + new Date().getWeekLastDate().format("yyyy-MM-dd"));
	alert("当前月第一天是 : " + new Date().getMonthFirstDate().format("yyyy-MM-dd"));
	alert("当前月最后一天是 : " + new Date().getMonthLastDate().format("yyyy-MM-dd"));
}
test();
</script>

 

分享到:
评论

相关推荐

    JS 将日期时间转为几个小时前或几天前

    在JavaScript(JS)中,将日期时间转换成“几个小时前”或“几天前”的格式,是一种常见的需求,尤其是在处理用户界面中的动态更新信息时。这个功能可以帮助用户更直观地理解信息的时效性。本篇文章将深入探讨如何...

    ( Kettle_js脚本

    根据给定文件的信息,我们可以总结出Kettle JavaScript脚本中涉及的主要知识点,这些知识点主要分为六大类:String Functions(字符串函数)、Numeric Functions(数值函数)、Date Functions(日期函数)、Logic ...

    常用JS文档.docx

    本文档涵盖了 JavaScript 中常用的函数和方法,涵盖了事件处理、字符串处理、数字处理、浏览器信息获取、日期和时间处理、样式和布局控制等多个方面。 一、事件处理 * click():使对象被点击。 * document....

    Javascript考试题目选择题借鉴.pdf

    9. `toLowerCase()`方法用于将字符串转为小写,而不是`toSmallCase()`。 10. 生成0到7(含0和7)的随机整数的表达式是`Math.floor(Math.random()*8)`。 11. 产生当前日期的正确方法是`new Date()`。 12. 动态改变...

    JAVASCRIPT学习总结1.pdf

    14. **类型转换**:JavaScript具有动态类型,但有时需要手动转换,如`Number('123')`将字符串转为数字,`String(123)`将数字转为字符串。 15. **对象创建**:JavaScript有多种创建对象的方式,包括字面量表示法、...

    2021-2022计算机二级等级考试试题及答案No.17405.docx

    1. 字符串操作:Python中的字符串方法包括`str.replace(x, y)`用于替换子串,`str.upper()`用于将字符串全部转为大写,`len(str)`用于获取字符串长度,但`str.len()`是错误的,应为`len(str)`。 2. 打印预览:在...

    微信小程序最近三个月自定义选择器(xxxx年xx月xx日至xxxx年xx月xx日)

    每个选项包含日期字符串,如"2022-08-01"。 3. **自定义选择器样式**: 使用wxss(微信小程序样式语言)定制选择器的视觉效果,使其符合应用的整体设计风格。例如,可以设置字体大小、颜色、背景等。 4. **事件...

    C#基础类库

    6.从字符串里随机得到,规定个数的字符串. 复制代码 22.条形码 BarCodeToHTML 本类是个条码生成类,大家可根据需要自己设置,非常好用 23.图片 ImageClass 主要功能有:缩略图片,图片水印,文字水印,调整光暗...

    fastJson属性配置说明

    25. **WriteNonStringKeyAsString**:如果 Map 的键不是字符串,将其转换为字符串。 26. **NotWriteDefaultValue**:不输出默认值,减少序列化后的文本大小。 27. **BrowserSecure**:确保 JSON 输出安全,避免 ...

    thinksns常用手册

    2. **msubstr() 和 mStr()**:这两个函数都是字符串截取函数,尤其适用于处理包含中文字符的字符串。它们支持多种字符编码,可以指定起始位置、截取长度,并且可以选择是否在截取后添加省略号作为后缀。 3. **rand_...

    net实用类50个常用方法升级版分页

    ///StringNull()当对象是空的时候 转为空字符串 ///StringConvert()汉字转拼音 ///StringNumber()数字转换中文 ///StringRep()url参数为中文时候转换加密 ///StringRes()url参数为中文时候转换解密 ///...

    net实用类50超级实用方法赠分页

    ///StringNull()当对象是空的时候 转为空字符串 ///StringConvert()汉字转拼音 ///StringNumber()数字转换中文 ///StringRep()url参数为中文时候转换加密 ///StringRes()url参数为中文时候转换解密 ///...

    net实用类50超级实用方法赠分页分页控件强大的分页

    ///StringNull()当对象是空的时候 转为空字符串 ///StringConvert()汉字转拼音 ///StringNumber()数字转换中文 ///StringRep()url参数为中文时候转换加密 ///StringRes()url参数为中文时候转换解密 ///...

    .net50个常用方法简单华丽的分页控件功能大的分页控件 50个实用方法

    ///StringNull()当对象是空的时候 转为空字符串 ///StringConvert()汉字转拼音 ///StringNumber()数字转换中文 ///StringRep()url参数为中文时候转换加密 ///StringRes()url参数为中文时候转换解密 ...

    HTML测试题.doc

    17. 将字符串s所有字母转为小写的方法是`toLowerCase()`。 18. 产生0~7之间随机整数的表达式是C. `Math.floor(Math.random()*8)`。 19. 获取当前日期的方法是C. `new Date()`。 20. 动态改变网页标题,应使用`...

    C#基类库(苏飞版)

    6.从字符串里随机得到,规定个数的字符串. 复制代码 22.条形码 BarCodeToHTML 本类是个条码生成类,大家可根据需要自己设置,非常好用 23.图片 ImageClass 主要功能有:缩略图片,图片水印,文字水印,调整光暗...

    utils:实用工具

    2. **字符串处理**:可能包含`trim`用于去除字符串两端的空白字符,`capitalize`用于将字符串首字母转为大写,`repeat`用于重复字符串一定次数。 3. **对象操作**:如`deepClone`用于深拷贝对象,`assign`或`merge`...

    CLOCK-CURRENT-TIME:此时钟显示当前时间..(JS)

    在JavaScript(JS)中,获取并显示当前时间是一项基本任务,尤其在构建动态网页时非常常见。本项目“CLOCK-CURRENT-TIME”利用JS来创建一个实时更新的时钟,模拟传统墙钟的功能,区分上午和下午。下面将详细阐述实现...

    前端面试宝典V3.0.docx

    - **String**:字符串对象的方法包括 `.length`, `.charAt()`, `.indexOf()`, `.substring()`, `.replace()` 等。 - **Date**:日期对象的方法包括 `.getFullYear()`, `.getMonth()`, `.getDate()`, `.getHours()`, ...

Global site tag (gtag.js) - Google Analytics