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 相关文章推荐
用js实现的页面关键字密度查询代码
Dec 27 Javascript
用jQuery技术实现Tab页界面之二
Sep 21 Javascript
分享精心挑选的23款美轮美奂的jQuery 图片特效插件
Aug 14 Javascript
JS跨域问题详解
Nov 25 Javascript
AngularJS的表单使用详解
Jun 17 Javascript
jQuery多文件异步上传带进度条实例代码
Aug 16 Javascript
JavaScript模仿Pinterest实现图片预加载功能
Oct 25 Javascript
Js自定义多选框效果的实例代码
Jul 05 Javascript
详解Node.js中的Async和Await函数
Feb 22 Javascript
详解JavaScript函数callee、call、apply的区别
Mar 08 Javascript
javascript json对象小技巧之键名作为变量用法分析
Nov 11 Javascript
深入解读VUE中的异步渲染的实现
Jun 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
ThinkPHP3.2.3框架Memcache缓存使用方法实例总结
2019/04/15 PHP
PHP使用CURL实现下载文件功能示例
2019/06/03 PHP
PHP中遍历数组的三种常用方法实例分析
2019/06/24 PHP
jQuery实用基础超详细介绍
2013/04/11 Javascript
jQuery元素的隐藏与显示实例
2015/01/20 Javascript
AngularJS基础学习笔记之控制器
2015/05/10 Javascript
使用Xcache缓存器加速PHP网站的配置方法
2017/04/22 Javascript
D3.js进阶系列之CSV表格文件的读取详解
2017/06/06 Javascript
js序列化和反序列化的使用讲解
2019/01/19 Javascript
vue实现按需加载组件及异步组件功能
2019/05/27 Javascript
js类的继承定义与用法分析
2019/06/21 Javascript
JS中的算法与数据结构之集合(Set)实例详解
2019/08/20 Javascript
vue自定义指令实现仅支持输入数字和浮点型的示例
2019/10/30 Javascript
vue动态加载SVG文件并修改节点数据的操作代码
2020/08/17 Javascript
Vue在H5 项目中使用融云进行实时个人单聊通讯
2020/12/14 Vue.js
基于javascript实现移动端轮播图效果
2020/12/21 Javascript
python备份文件以及mysql数据库的脚本代码
2013/06/10 Python
Python通过Pygame绘制移动的矩形实例代码
2018/01/03 Python
Python根据指定日期计算后n天,前n天是哪一天的方法
2018/05/29 Python
pandas 选取行和列数据的方法详解
2019/08/08 Python
Python 实现一个手机号码获取妹子名字的功能
2019/09/25 Python
pygame实现非图片按钮效果
2019/10/29 Python
Python + selenium + crontab实现每日定时自动打卡功能
2020/03/31 Python
CSS3让登陆面板3D旋转起来
2016/05/03 HTML / CSS
HTML5 本地存储实现购物车功能
2017/09/07 HTML / CSS
HTML5的标签的代码的简单介绍 HTML5标签的简介
2012/05/28 HTML / CSS
伦敦高级内衣品牌:Agent Provocateur(大内密探)
2016/08/23 全球购物
聚网科技C++面试笔试题
2015/09/01 面试题
教师求职信范文分享
2013/12/27 职场文书
安全生产汇报材料
2014/02/17 职场文书
代办委托书怎样写
2014/04/08 职场文书
小学五年级语文上册教学计划
2015/01/22 职场文书
公证处委托书
2015/01/28 职场文书
《好妈妈胜过好老师》:每个孩子的优秀都是有源头的
2020/01/03 职场文书
详解Java实践之建造者模式
2021/06/18 Java/Android
Python必备技巧之字符数据操作详解
2022/03/23 Python