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 相关文章推荐
破除网页鼠标右键被禁用的绝招大全
Dec 27 Javascript
jQuery 中关于CSS操作部分使用说明
Jun 10 Javascript
用jQuery技术实现Tab页界面之二
Sep 21 Javascript
js前台判断开始时间是否小于结束时间
Feb 23 Javascript
JSONP获取Twitter和Facebook文章数的具体步骤
Feb 24 Javascript
基于Bootstrap实现tab标签切换效果
Apr 15 Javascript
快速解决js动态改变dom元素属性后页面及时渲染的问题
Jul 06 Javascript
脚本div实现拖放功能(两种)
Feb 13 Javascript
微信小程序 input输入及动态设置按钮的实现
Oct 27 Javascript
使用async await 封装 axios的方法
Jul 09 Javascript
Angularjs之ngModel中的值验证绑定方法
Sep 13 Javascript
SpringBoot+Vue开发之Login校验规则、实现登录和重置事件
Oct 19 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
ThinkPHP之用户注册登录留言完整实例
2014/07/22 PHP
PHP实现ftp上传文件示例
2014/08/21 PHP
在Windows系统下使用PHP生成Word文档的教程
2015/07/03 PHP
PHP实现的构造sql语句类实例
2016/02/03 PHP
全面了解PHP中的全局变量
2016/06/17 PHP
Yii框架实现多数据库配置和操作的方法
2017/05/25 PHP
php无限级评论嵌套实现代码
2018/04/18 PHP
jquery中获得$.ajax()事件返回的值并添加事件的方法
2010/04/15 Javascript
jquery实现可拖动DIV自定义保存到数据的实例
2013/11/20 Javascript
JavaScript中奇葩的假值示例应用
2014/03/11 Javascript
jQuery实现高亮显示的方法
2015/03/10 Javascript
js运动事件函数详解
2016/10/21 Javascript
AngularJS 应用身份认证的技巧总结
2016/11/07 Javascript
基于JavaScript实现随机颜色输入框
2016/12/10 Javascript
原生js实现可拖拽效果
2017/02/28 Javascript
从零开始学习Node.js系列教程之设置HTTP头的方法示例
2017/04/13 Javascript
Javascript ES6中数据类型Symbol的使用详解
2017/05/02 Javascript
Node.js上传文件功能之服务端如何获取文件上传进度
2018/02/05 Javascript
微信小程序wx.uploadfile 本地文件转base64的实现代码
2018/06/28 Javascript
vue-cli项目无法用本机IP访问的解决方法
2018/09/20 Javascript
jQuery Ajax实现Select多级关联动态绑定数据的实例代码
2018/10/26 jQuery
JavaScript继承与聚合实例详解
2019/01/22 Javascript
基于vue 实现表单中password输入的显示与隐藏功能
2019/07/19 Javascript
微信小程序中使用 async/await的方法实例分析
2020/05/06 Javascript
token 机制和实现方式
2020/12/15 Javascript
[40:19]2018完美盛典CS.GO表演赛
2018/12/17 DOTA
浅谈Python处理PDF的方法
2017/11/10 Python
Python OpenCV处理图像之图像直方图和反向投影
2018/07/10 Python
python numpy 矩阵堆叠实例
2020/01/17 Python
python deque模块简单使用代码实例
2020/03/12 Python
CSS3的Border-radius轻松制作圆角
2012/12/24 HTML / CSS
html5文字阴影效果text-shadow使用示例
2013/07/25 HTML / CSS
法国购买二手电子产品网站:Asgoodasnew
2020/03/27 全球购物
领导接待方案
2014/03/13 职场文书
参观接待方案
2014/03/17 职场文书
JavaScript数组reduce()方法的语法与实例解析
2021/07/07 Javascript