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 相关文章推荐
JQuery中关于jquery.js与jquery.min.js的比较探讨
May 15 Javascript
JavaScript 开发工具webstrom使用指南
Dec 09 Javascript
javascript折半查找详解
Jan 26 Javascript
javascript中SetInterval与setTimeout的定时器用法
Aug 24 Javascript
jquery实现加载进度条提示效果
Nov 23 Javascript
JavaScript中用let语句声明作用域的用法讲解
May 20 Javascript
浅谈js的解析顺序 作用域 严格模式
Oct 23 Javascript
Node.js进阶之核心模块https入门
May 23 Javascript
Vue2.0点击切换类名改变样式的方法
Aug 22 Javascript
微信小程序点击view动态添加样式过程解析
Jan 21 Javascript
微信小程序 button样式设置为图片的方法
Jun 19 Javascript
基于原生JS封装的Modal对话框插件的示例代码
Sep 09 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递归算法的详细示例分析
2013/02/19 PHP
thinkphp实现图片上传功能分享
2014/03/04 PHP
兼容PHP和Java的des加密解密代码分享
2014/06/26 PHP
ThinkPHP模版中导入CSS和JS文件的方法
2014/11/29 PHP
PHP之将POST数据转化为字符串的实现代码
2016/11/03 PHP
phpStudy vscode 搭建debug调试的教程详解
2020/07/28 PHP
showModelessDialog()使用详解
2006/09/07 Javascript
js获取单元格自定义属性值的代码(IE/Firefox)
2010/04/05 Javascript
读jQuery之六 缓存数据功能介绍
2011/06/21 Javascript
7款风格新颖的jQuery/CSS3菜单导航分享
2013/04/23 Javascript
浅谈JS原型对象和原型链
2016/03/02 Javascript
JS 日期与时间戮相互转化的简单实例
2016/06/22 Javascript
jquery自动补齐功能插件flexselect用法示例
2016/08/06 Javascript
使用Bootstrap美化按钮实例代码(demo)
2017/02/03 Javascript
详解vue数据渲染出现闪烁问题
2017/06/29 Javascript
在微信小程序中保存网络图片
2019/02/12 Javascript
一百行JS代码实现一个校验工具
2019/04/30 Javascript
vue实现评论列表功能
2019/10/25 Javascript
如何使用JS console.log()技巧提高工作效率
2020/10/14 Javascript
[02:38]DOTA2超级联赛专访Loda 认为IG世界最强
2013/05/27 DOTA
Python标准库defaultdict模块使用示例
2015/04/28 Python
Python3分析处理声音数据的例子
2019/08/27 Python
用Python爬取LOL所有的英雄信息以及英雄皮肤的示例代码
2020/07/13 Python
浅析两列自适应布局的3种思路
2016/05/03 HTML / CSS
css3中的calc函数浅析
2018/07/10 HTML / CSS
英国Zoro工具:手动工具,电动工具和个人防护用品
2016/11/02 全球购物
WebSphere 应用服务器都支持哪些认证
2013/12/26 面试题
法学专业本科生自荐信范文
2013/12/17 职场文书
人事文员岗位职责
2014/02/16 职场文书
音乐教学随笔感言
2014/02/19 职场文书
中学教师教育感言
2014/02/21 职场文书
党课培训主持词
2014/04/01 职场文书
2014年祖国生日寄语
2014/09/19 职场文书
校园广播稿精选
2014/10/01 职场文书
2015年环保局工作总结
2015/05/22 职场文书
Golang并发操作中常见的读写锁详析
2021/08/30 Golang