`

Date 学习

 
阅读更多

 

固定日期的定义

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 学习总结

    java Date以及相关的Calendar和SimpleDateFormat的使用

    BigData大数据学习笔记

    BigData大数据学习笔记

    Date类学习总结

    date类学习总结,包括各种date函数操作,时间类型转换等等

    Calendar和Date的转化

    Calendar和Date的转化,java学习总结,java学习总结,java学习总结

    总结date对象

    06总结Date对象的方法.html

    Linux date 显示设置时间命令学习.docx

    Linux date 显示设置时间命令学习.docx

    JAVA Calendar,Date类详解

    Calendar 和 Date 类 是JAVA很重要的两个类,学好它们对于JAVA学习的道路非常重要

    大学软件测试NextDate函数编程(c++源码)程序调试已经通过!

    件测试NextDate函数编程(c++源码)程序调试已经通过!可以作为交给老师的作业!是学习编程和相互交流的非常棒的学习资料!

    date类的声明与实现

    通过简单地date类来了解c++的面向对象编程,学习静态成员的使用方法

    跟我学习javascript的Date对象

    本篇主要介绍Date 日期和时间对象的操作。 1. 介绍 1.1 说明 Date对象,是操作日期和时间的对象。Date对象对日期和时间的操作只能通过方法。 1.2 属性 无; Date对象对日期和时间的操作只能通过方法。 2. 构造函数 ...

    20news-bydate_py3.pkz

    Scikit-Learn机器学习之监督学习模型案例集-新闻/邮件文本内容分类(朴素贝叶斯算法模型)素材

    第二十五天,对包装类及Date类和Calendar类的学习

    第二十五天,对包装类及Date类和Calendar类的学习

    20news-bydate_py3.pkz下载

    Scikit-Learn机器学习之监督学习模型案例集-新闻/邮件文本内容分类(朴素贝叶斯算法模型)素材,将其放在本机指定目录下,例如~/scikit_learn_data,无需再去下载,解决下载错误的问题

    daterangepicker汉化配置

    前端需要的日历时间选择插件,这个是可以同时选择开始和结束日期的。非常好用,网上的汉化也很难找,所以发此资源 大家一起学习。附件中包含 汉化配置.txt 说明

    Java基础之Date和Calendar类的使用方法

    Date类顾名思义,一看就知道是和日期有关的类了,这个类最主要的作用就是获得当 前时间了,然而这个类里面也具有设置时间以及一些其他的功能,可是由于本身设计的问题,这些方法却遭到众多批评,而这些遭受批评的...

    jquery Date Range Picker

    一款不错的js的双日历控件,喜欢的朋友可以研究或者学习下;

    JavaScript Date对象功能与用法学习记录

    本文实例讲述了JavaScript Date对象功能与用法。分享给大家供大家参考,具体如下: Date 实例用来处理日期和时间。Date对象基于1970年1月1日(世界标准时间)起的毫秒数。 JavaScript 的Date对象提供了数个UTC时间的...

    新手学习C++入门资料

    主体:(一)与C语言的区别&gt; 一、C++概述 (一) 发展历史 1980年,Bjarne Stroustrup博士开始着手创建一种模拟语言,能够具有面向对象的程序设计特色。在当时,面向对象编程还是一个比较新的理念,Stroustrup博士并...

    20news-bydate.tar

    20news-bydate.tar.gz - 20 Newsgroups sorted by date; duplicates and some headers removed (18846 documents) 20个新闻组数据集是大约20,000个新闻组文档的集合,(几乎)均匀地跨20个不同新闻组划分。据我所知,...

    C语言实现NextDate 输入日期求其第三天

    上课自己写的一些代码,还在学习中,传上来和大家分享一下。

Global site tag (gtag.js) - Google Analytics