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 相关文章推荐
javascript 常用方法总结
Jun 03 Javascript
SOSO地图JS画出标注和中心点以html形式运行
Aug 09 Javascript
扩展IE中一些不兼容的方法如contains、startWith等等
Jan 09 Javascript
Javascript 按位左移运算符使用介绍(
Feb 04 Javascript
JavaScript中的getMilliseconds()方法使用详解
Jun 10 Javascript
Easyui Treegrid改变默认图标的方法
Apr 29 Javascript
BootStrap tab选项卡使用小结
Aug 09 Javascript
ES6正则表达式的一些新功能总结
May 09 Javascript
requirejs + vue 项目搭建详解
Jun 16 Javascript
JavaScript 中定义函数用 var foo = function () {} 和 function foo()区别介绍
Mar 01 Javascript
Express本地测试HTTPS的示例代码
Jun 06 Javascript
小程序云开发如何实现图片上传及发表文字
May 17 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
玛琪朵 Macchiato
2021/03/03 咖啡文化
用PHP产生动态的影像图
2006/10/09 PHP
php使用base64加密解密图片示例分享
2014/01/20 PHP
JS中简单的实现像C#中using功能(有源码下载)
2007/01/09 Javascript
jquery 实现input输入什么div图层显示什么
2014/06/15 Javascript
javascript检查浏览器是否支持flash的实现代码
2014/08/14 Javascript
node.js中的fs.closeSync方法使用说明
2014/12/17 Javascript
javascript显示倒计时控制按钮的简单实现
2016/06/07 Javascript
Angularjs通过指令监听ng-repeat渲染完成后执行脚本的方法
2016/12/31 Javascript
vue中v-cloak解决刷新或者加载出现闪烁问题(显示变量)
2018/04/20 Javascript
详解Nuxt.js部署及踩过的坑
2018/08/07 Javascript
cnpm加速Angular项目创建的方法
2018/09/07 Javascript
Mpvue中使用Vant Weapp组件库的方法步骤
2019/05/16 Javascript
微信小程序picker组件两列关联使用方式
2020/10/27 Javascript
Python中使用 Selenium 实现网页截图实例
2014/07/18 Python
Python的Scrapy爬虫框架简单学习笔记
2016/01/20 Python
Python iter()函数用法实例分析
2018/03/17 Python
python读取和保存视频文件
2018/04/16 Python
Python单元测试简单示例
2018/07/03 Python
pygame游戏之旅 添加游戏界面按键图形
2018/11/20 Python
python双向链表原理与实现方法详解
2019/12/03 Python
python+opencv实现车道线检测
2021/02/19 Python
HTML5 实战PHP之Web页面表单设计
2011/10/09 HTML / CSS
韩国女装NO.1网店:STYLENANDA
2016/09/16 全球购物
英国奢华护肤、美容和Spa品牌:Temple Spa
2019/11/02 全球购物
远东集团网络工程师面试题
2014/10/20 面试题
成功的酒店创业计划书
2013/12/27 职场文书
秋季婚礼证婚词
2014/01/11 职场文书
经销商年会策划方案
2014/05/29 职场文书
小学教师师德师风个人整改措施
2014/09/18 职场文书
2015年乡镇卫生院工作总结
2015/04/22 职场文书
刑事附带民事诉讼答辩状
2015/05/22 职场文书
国庆节新闻稿
2015/07/17 职场文书
2016年公司“3.12”植树节活动总结
2016/03/16 职场文书
2019年教师入党申请书
2019/06/27 职场文书
mysql知识点整理
2021/04/05 MySQL