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异步请求实例代码
Jun 21 Javascript
javascript放大镜效果的简单实现
Dec 09 Javascript
jQuery多项选项卡的实现思路附样式及代码
Jun 03 Javascript
对JavaScript中this指针的新理解分享
Jan 31 Javascript
jQuery简单实现隐藏以及显示特效
Feb 26 Javascript
node.js插件nodeclipse安装图文教程
Oct 19 Javascript
Javascript将数值转换为金额格式(分隔千分位和自动增加小数点)
Jun 22 Javascript
Vue指令的钩子函数使用方法
Mar 20 Javascript
巧用weui.topTips验证数据的实例
Apr 17 Javascript
ES6 Promise对象的含义和基本用法分析
Jun 14 Javascript
通过图带你深入了解vue的响应式原理
Jun 21 Javascript
5种方法告诉你如何使JavaScript 代码库更干净
Sep 15 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实现与ASP Banner组件相似的类
2006/10/09 PHP
PHP UTF8编码内的繁简转换类
2009/07/20 PHP
PHP处理excel cvs表格的方法实例介绍
2013/05/13 PHP
php伪静态之APACHE篇
2014/06/02 PHP
ThinkPHP处理Ajax返回的方法
2014/11/22 PHP
Laravel+Intervention实现上传图片功能示例
2019/07/09 PHP
实现变速回到顶部的JavaScript代码
2011/05/09 Javascript
jQuery中jqGrid分页实现代码
2011/11/04 Javascript
基于jquery实现一张图片点击鼠标放大再点缩小
2013/09/29 Javascript
JQuery使用index方法获取Jquery对象数组下标的方法
2015/05/18 Javascript
javascript实现五星评价代码(源码下载)
2015/08/11 Javascript
jqueryMobile使用示例分享
2016/01/12 Javascript
通俗易懂地解释JS中的闭包
2017/10/23 Javascript
微信小程序实现天气预报功能
2018/07/18 Javascript
JS实现多功能计算器
2020/10/28 Javascript
python追加元素到列表的方法
2015/07/28 Python
Python打造出适合自己的定制化Eclipse IDE
2016/03/02 Python
Python线程指南详细介绍
2017/01/05 Python
python数据清洗系列之字符串处理详解
2017/02/12 Python
利用标准库fractions模块让Python支持分数类型的方法详解
2017/08/11 Python
python利用socketserver实现并发套接字功能
2018/01/26 Python
Python切割图片成九宫格的示例代码
2020/03/10 Python
Opencv常见图像格式Data Type及代码实例
2020/11/02 Python
Opencv python 图片生成视频的方法示例
2020/11/18 Python
AmazeUI 列表的实现示例
2020/08/17 HTML / CSS
如何在.net Winform里面显示PDF文档
2012/09/11 面试题
Linux管理员面试题 Linux admin interview questions
2014/11/01 面试题
幼儿园端午节活动方案
2014/08/25 职场文书
信用卡工资证明范本
2014/10/17 职场文书
大学生自荐材料范文
2014/12/30 职场文书
2015年安全工作总结范文
2015/04/02 职场文书
道歉情书大全
2015/05/12 职场文书
小程序wx.getUserProfile接口的具体使用
2021/06/02 Javascript
Python常用配置文件ini、json、yaml读写总结
2021/07/09 Python
一文弄懂MySQL中redo log与binlog的区别
2022/02/15 MySQL
WebRTC记录音视频流(web技术分享)
2022/02/24 Javascript