固定日期的定义
var date1 = new Date(); //注意月份为6 为7月 var date2 = new Date(2013,6,14); var date3 = new Date(2013,11,14,0,0,0); var endTime = new Date(Date.parse('2013-12-20'.replace(/-/g,"/")));
//返回日期 相差天数
var getDatePeriod = function(start,finish){ //return Math.abs(start*1-finish*1)/60/60/1000/24; //返回带有小数的天数 return Math.floor(Math.abs(start*1-finish*1)/60/60/1000/24);//返回天数 只有整数 }
//返回当前日期的第一天
var getFirstDateInMonth= function(date){
return new Date(date.getFullYear(),date.getMonth(),1);
}
//返回当前月的最后一天 , 天=0 为最后一天
var getLastDateInMonth= function(date){ return new Date(date.getFullYear(),date.getMonth()+1,0); }
//取出 出它所在季度的第一天
var getFirstDateInQuarter= function(date){ return new Date(date.getFullYear(),~~(date.getMonth()/3)*3,1); }
//求出它所在季度的最后一天
var getLastDateInQuarter= function(date){ return new Date(date.getFullYear(),~~(date.getMonth()/3)*3+3,0); }
//判断闰年 平年的二月是28天,闰年的二月是29天。 二月29号就是闰年
Date.prototype.isLeapYear = function() { return new Date(this.getFullYear(),2,0).getDate() == 29; }
// 某个月有多少天
function daysInMonth ( year, month ) { var num = new Date(); num.setFullYear( year, (month ==12) ? 0 : month , 0 ); return num.getDate(); }
// 2009/2/23(或者2009/02/23)合法
var test = function(str){ alert(str ); var arr = str.split("/"); var m = Number(arr[1])-1; var d = new Date(Number(arr[0]),m,Number(arr[2]) ); alert(d ); if(isNaN(d)) { // alert("判断非数字1"); return false; } if(isNaN(d.getDate())){ // alert("判断非数字1"); return false; } return d.getMonth() === m; }
/********根据一个日期求得星期,如'2009-6-21' return 0(星期日)***********/ var get_day = function (strDate){ var f = strDate.replace(/-/g,'/'); f = new Date(f).getDay(); return "星期"+"天一二三四五六".split('')[f] } writeData(get_day('2013-8-21') ) var now = new Date() var currentMonth = now.getMonth() +1 //获得当前的月份 var nextMonth = now.getMonth()+2 //获得下一个月的月份 writeData("当前月份:"+currentMonth+" nextMonth: "+nextMonth ); //用javascript取得某一年的第一个星期一的日期 function get(year) { var d = new Date(year, 1, 1); var day = d.getDay(); //获取1月1号是星期几 d.setDate((8 - day) % 7 + 1); return d; } writeData("<br>某一年的第一个星期一日期 :"+get(2013)); //求前 n 天或者后 n 天的日期(用xxxx-xx-xx表示) var showdate = function(n){ var d = new Date(); d.setDate(d.getDate()+n); //或者 d = d.getFullYear() + "-" + (d.getMonth()+1) + "-" + d.getDate(); //d = d.toLocaleDateString(); 中文格式的 d = d.toLocaleDateString().replace(/[\u4e00-\u9fa5]/g,'-').replace(/-$/,'') return d; } writeData("<br>"+"今天是:"+showdate(0)); writeData("<br>"+"昨天是:"+showdate(-1) ); writeData("<br>"+"明天是:"+showdate(1)); writeData("<br>"+"10天前是:"+showdate(-10) ); writeData("<br>"+"8天后是:"+showdate(8)); //将2005-8-5转换成2005-08-05格式 var strDate = '2005-8-5'; writeData("<br>"+ strDate.replace(/\b(\w)\b/g, '0$1') ); // 对Date的扩展,将 Date 转化为指定格式的String // 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) // 例子: // (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 // (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18 Date.prototype.Format = function(fmt) { //@author: meizz var o = { "M+" : this.getMonth()+1, //月份 "d+" : this.getDate(), //日 "h+" : this.getHours(), //小时 "m+" : this.getMinutes(), //分 "s+" : this.getSeconds(), //秒 "q+" : Math.floor((this.getMonth()+3)/3), //季度 "S" : this.getMilliseconds() //毫秒 }; //匹配年份,把年替换成真正的数字 if(/(y+)/.test(fmt)) fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length)); //writeData("<br>========="+ RegExp.$1 +this.getFullYear()+" "+fmt); //替换月份,把月份替换成真正的数字显示 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(); writeData("<br>"+ date.Format('yyyy-MM-dd') );
测试
writeData(date1 +" <br>" + date2);
writeData(" 时间差 ="+getDatePeriod( date1 , date2 ) +" <br> 第一天 = " + getFirstDateInMonth(date1 )+ " <br> ");
writeData("这个月的最后一天 ="+getLastDateInMonth( date1 )+" " );
writeData("出它所在季度的第一天 = "+getFirstDateInQuarter( date1 )+" " );
writeData("出它所在季度的最后一天 = "+getLastDateInQuarter( date1 )+" " );
writeData("日期 = "+date3 +" " );
writeData("日期 = "+daysInMonth(2013,0) +" " );
writeData("日期 = "+test("2009/1/33") +" " );
相关推荐
java Date以及相关的Calendar和SimpleDateFormat的使用
BigData大数据学习笔记
date类学习总结,包括各种date函数操作,时间类型转换等等
Calendar和Date的转化,java学习总结,java学习总结,java学习总结
06总结Date对象的方法.html
Linux date 显示设置时间命令学习.docx
Calendar 和 Date 类 是JAVA很重要的两个类,学好它们对于JAVA学习的道路非常重要
件测试NextDate函数编程(c++源码)程序调试已经通过!可以作为交给老师的作业!是学习编程和相互交流的非常棒的学习资料!
通过简单地date类来了解c++的面向对象编程,学习静态成员的使用方法
本篇主要介绍Date 日期和时间对象的操作。 1. 介绍 1.1 说明 Date对象,是操作日期和时间的对象。Date对象对日期和时间的操作只能通过方法。 1.2 属性 无; Date对象对日期和时间的操作只能通过方法。 2. 构造函数 ...
Scikit-Learn机器学习之监督学习模型案例集-新闻/邮件文本内容分类(朴素贝叶斯算法模型)素材
第二十五天,对包装类及Date类和Calendar类的学习
Scikit-Learn机器学习之监督学习模型案例集-新闻/邮件文本内容分类(朴素贝叶斯算法模型)素材,将其放在本机指定目录下,例如~/scikit_learn_data,无需再去下载,解决下载错误的问题
前端需要的日历时间选择插件,这个是可以同时选择开始和结束日期的。非常好用,网上的汉化也很难找,所以发此资源 大家一起学习。附件中包含 汉化配置.txt 说明
Date类顾名思义,一看就知道是和日期有关的类了,这个类最主要的作用就是获得当 前时间了,然而这个类里面也具有设置时间以及一些其他的功能,可是由于本身设计的问题,这些方法却遭到众多批评,而这些遭受批评的...
一款不错的js的双日历控件,喜欢的朋友可以研究或者学习下;
本文实例讲述了JavaScript Date对象功能与用法。分享给大家供大家参考,具体如下: Date 实例用来处理日期和时间。Date对象基于1970年1月1日(世界标准时间)起的毫秒数。 JavaScript 的Date对象提供了数个UTC时间的...
主体:(一)与C语言的区别> 一、C++概述 (一) 发展历史 1980年,Bjarne Stroustrup博士开始着手创建一种模拟语言,能够具有面向对象的程序设计特色。在当时,面向对象编程还是一个比较新的理念,Stroustrup博士并...
20news-bydate.tar.gz - 20 Newsgroups sorted by date; duplicates and some headers removed (18846 documents) 20个新闻组数据集是大约20,000个新闻组文档的集合,(几乎)均匀地跨20个不同新闻组划分。据我所知,...
上课自己写的一些代码,还在学习中,传上来和大家分享一下。