js获取日期:昨天今天和明天、后天


Posted in Javascript onJune 11, 2014
<html> 
<head> 
<meta http-equiv="Content-Type" content="textml; charset=utf-8"> 
<title>js获取日期:前天、昨天、今天、明天、后天 - Liehuo.Net</title> 
</head> <body> 
<script language="JavaScript" type="text/javascript"> 
function GetDateStr(AddDayCount) { 
var dd = new Date(); 
dd.setDate(dd.getDate()+AddDayCount);//获取AddDayCount天后的日期 
var y = dd.getFullYear(); 
var m = dd.getMonth()+1;//获取当前月份的日期 
var d = dd.getDate(); 
return y+"-"+m+"-"+d; 
} 
document.write("前天:"+GetDateStr(-2)); 
document.write("<br />昨天:"+GetDateStr(-1)); 
document.write("<br />今天:"+GetDateStr(0)); 
document.write("<br />明天:"+GetDateStr(1)); 
document.write("<br />后天:"+GetDateStr(2)); 
document.write("<br />大后天:"+GetDateStr(3)); 
</script> 
</body> 
<ml>

其中有一种方法是:Date.parse(dateVal),此函数功能强大,但是有个致命的缺点,那就是不支持我们常用的“年-月-日”格式,短日期可以使用“/”或“-”作为日期分隔符,但是必须用月/日/年的格式来表示,例如"7/20/96"。

另一种方法是使用 split,比如:

var dtStr = "2006-11-25"; 
var dtArr = dtStr.split("-"); 
var dt = new Date(dtArr[0], dtArr[1], dtArr[2]);

但这种方法较为死板,要求固定的日期格式,只有在没有办法的情况下才用。

如果我们可以将年月日拆分开,就尽量将其拆开,比如 ASP 分别输出年月日。然后用 new Date 来处理,返回的便是日期类型。

日期格式化

<script language="javascript" type="text/javascript"><!-- 
/** 
* 对Date的扩展,将 Date 转化为指定格式的String 
* 月(M)、日(d)、12小时(h)、24小时(H)、分(m)、秒(s)、周(E)、季度(q) 可以用 1-2 个占位符 
* 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) 
* eg: 
* (new Date()).pattern("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 
* (new Date()).pattern("yyyy-MM-dd E HH:mm:ss") ==> 2009-03-10 二 20:09:04 
* (new Date()).pattern("yyyy-MM-dd EE hh:mm:ss") ==> 2009-03-10 周二 08:09:04 
* (new Date()).pattern("yyyy-MM-dd EEE hh:mm:ss") ==> 2009-03-10 星期二 08:09:04 
* (new Date()).pattern("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18 
*/ 
Date.prototype.pattern=function(fmt) { 
var o = { 
"M+" : this.getMonth()+1, //月份 
"d+" : this.getDate(), //日 
"h+" : this.getHours()%12 == 0 ? 12 : this.getHours()%12, //小时 
"H+" : this.getHours(), //小时 
"m+" : this.getMinutes(), //分 
"s+" : this.getSeconds(), //秒 
"q+" : Math.floor((this.getMonth()+3)/3), //季度 
"S" : this.getMilliseconds() //毫秒 
}; 
var week = { 
"0" : "\u65e5", 
"1" : "\u4e00", 
"2" : "\u4e8c", 
"3" : "\u4e09", 
"4" : "\u56db", 
"5" : "\u4e94", 
"6" : "\u516d" 
}; 
if(/(y+)/.test(fmt)){ 
fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length)); 
} 
if(/(E+)/.test(fmt)){ 
fmt=fmt.replace(RegExp.$1, ((RegExp.$1.length>1) ? (RegExp.$1.length>2 ? "\u661f\u671f" : "\u5468") : "")+week[this.getDay()+""]); 
} 
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; 
} var date = new Date(); 
window.alert(date.pattern("yyyy-MM-dd hh:mm:ss")); 
// --></script>
Javascript 相关文章推荐
直接生成打开窗口代码,不必下载
May 14 Javascript
基于jquery的网站幻灯片切换效果焦点图代码
Sep 15 Javascript
回车直接实现点击某按钮的效果即触发单击事件
Feb 27 Javascript
javascript中mouseover、mouseout使用详解
Jul 19 Javascript
JS实现的3D拖拽翻页效果代码
Oct 31 Javascript
JS动态创建元素的两种方法
Apr 20 Javascript
带有定位当前位置的百度地图前端web api实例代码
Jun 21 Javascript
Bootstrap框架实现广告轮播效果
Nov 28 Javascript
vue-cli+webpack在生成的项目中使用bootstrap实例代码
May 26 Javascript
高性能的javascript之加载顺序与执行原理篇
Jan 14 Javascript
详解.vue文件中style标签的几个标识符
Jul 17 Javascript
vue 框架下自定义滚动条(easyscroll)实现方法
Aug 29 Javascript
js使用栈来实现10进制转8进制与取除数及余数
Jun 11 #Javascript
删除javascript中注释语句的正则表达式
Jun 11 #Javascript
Jquery自定义button按钮的几种方法
Jun 11 #Javascript
教你用jquery实现iframe自适应高度
Jun 11 #Javascript
浅析jQuery中调用ajax方法时在不同浏览器中遇到的问题
Jun 11 #Javascript
控制文字内容的显示与隐藏示例
Jun 11 #Javascript
用js一次改变多个input的readonly属性值的方法
Jun 11 #Javascript
You might like
php使用codebase生成随机数
2014/03/25 PHP
PHP获取youku视频真实flv文件地址的方法
2014/12/23 PHP
PHP中抽象类、接口的区别与选择分析
2016/03/29 PHP
PHP的自定义模板引擎
2017/03/24 PHP
编写可维护面向对象的JavaScript代码[翻译]
2011/02/12 Javascript
Jquery网页出现的乱码问题的三种解决方法
2013/06/30 Javascript
input标签内容改变的触发事件介绍
2014/06/18 Javascript
返回顶部按钮响应滚动且动态显示与隐藏
2014/10/14 Javascript
setTimeout内不支持jquery的选择器的解决方案
2015/04/28 Javascript
jQuery的实例及必知重要的jQuery选择器详解
2016/05/20 Javascript
浅谈js的html元素的父节点,子节点
2016/08/06 Javascript
jQuery实现按比例缩放图片的方法
2017/04/29 jQuery
Angular项目从新建、打包到nginx部署全过程记录
2017/12/09 Javascript
详解VUE 对element-ui中的ElTableColumn扩展
2018/03/28 Javascript
vue里input根据value改变背景色的实例
2018/09/29 Javascript
理解JavaScript中的Proxy 与 Reflection API
2020/09/21 Javascript
Python对象的深拷贝和浅拷贝详解
2014/08/25 Python
利用Python学习RabbitMQ消息队列
2015/11/30 Python
Python返回数组/List长度的实例
2018/06/23 Python
Python自动化之数据驱动让你的脚本简洁10倍【推荐】
2019/06/04 Python
python opencv minAreaRect 生成最小外接矩形的方法
2019/07/01 Python
Python的matplotlib绘图如何修改背景颜色的实现
2019/07/16 Python
python 数据生成excel导出(xlwt,wlsxwrite)代码实例
2019/08/23 Python
python双端队列原理、实现与使用方法分析
2019/11/27 Python
基于python使用tibco ems代码实例
2019/12/20 Python
opencv python Canny边缘提取实现过程解析
2020/02/03 Python
python MD5加密的示例
2020/10/19 Python
Staples美国官方网站:办公用品一站式采购
2016/07/28 全球购物
Gerry Weber德国官网:优质女性时装,德国最大的时装公司之一
2019/11/02 全球购物
大学生毕业自我评价范文分享
2013/11/07 职场文书
3.12植树节活动总结2014
2014/03/13 职场文书
一年级学生评语大全
2014/04/21 职场文书
2015年重阳节慰问信
2015/03/23 职场文书
民事起诉状范文
2015/05/19 职场文书
企业反腐倡廉心得体会
2015/08/15 职场文书
2017春节晚会开幕词
2016/03/03 职场文书