Super practical JavaScript Time processing summary _javascript skills

Source: Internet
Author: User
Tags date1 getdate

Objective

We often encounter the problem of date and time in the front-end JavaScript development, and usually get a lot of processing functions to complete a simple date and time display effect. In order to improve the speed of the development of the website, the main code can be encapsulated in a separate function, in the need of direct call, the following to see some of the summary of the time processing class. Call directly when you need it.

var mydate = new Date ();    Mydate.getyear ();  Gets the current year (2-bit) mydate.getfullyear ();    Get the complete year (4-bit, 1970-????) Mydate.getmonth ();    Get the current month (0-11, 0 for January) mydate.getdate ();     Gets the current day (1-31) mydate.getday ();    Get Current week x (0-6, 0 representative Sunday) mydate.gettime ();    Gets the current time (the number of milliseconds since 1970.1.1) mydate.gethours ();   Gets the current number of hours (0-23) mydate.getminutes ();   Gets the current number of minutes (0-59) mydate.getseconds ();  Gets the current number of seconds (0-59) mydate.getmilliseconds ();   Gets the current number of milliseconds (0-999) mydate.tolocaledatestring ();   Gets the current date var mytime=mydate.tolocaletimestring ();    Gets the current time mydate.tolocalestring (); Get date and Time Date Time Script Library method list Date.prototype.isLeapYear judgment Leap year Date.prototype.Format date format Date.prototype.DateAdd Date Calculation Date.pro ToType.
DateDiff Compare Date Difference Date.prototype.toString Date-to-spin string Date.prototype.toArray date segment information for an array Date.prototype.DatePart date Date.prototype.MaxDayOfDate the maximum number of days of the month in which to take the date Date.prototype.WeekNumOfYear the first weeks of the year in which the date is located stringtodate string to date type Isvaliddate Validate Date Validity checkdatetime full date time check daysbetween date days difference JS code://---------------------------------------------------//Judgment Leap Year//---------------------------------------------------Date.prototype.isLeapYear = function () {return (0==this.getyear ()%4&& (This.getyear ()%100!=0) | |  
(This.getyear ()%400==0)); 
}//---------------------------------------------------//Date format//Format YYYY/YYYY/YY/YY = year//mm/m month//w/w week DD/DD/D/D Date//hh/hh/h/h time//mm/m minutes//ss/ss/s/s seconds//---------------------------------------------------date. Prototype.  
  Format = function (formatstr) {var str = FORMATSTR; 
 
  var Week = [' Day ', ' one ', ' two ', ' three ', ' four ', ' five ', ' six ']; Str=str.replace (/yyyy|  
  Yyyy/,this.getfullyear ()); Str=str.replace (/yy| yy/, (this.getyear ()%) >9?  
 
  (This.getyear ()%). ToString (): ' 0 ' + (this.getyear ()% 100));  
  Str=str.replace (/mm/,this.getmonth () >9?this.getmonth (). toString (): ' 0 ' + this.getmonth ());  
 
  Str=str.replace (/m/g,this.getmonth ()); Str=str.replace (/w|  
 
  W/g,week[this.getday ()]); Str=str.replace (/dd| Dd/,this.getdate () >9?thIs.getdate (). toString (): ' 0 ' + this.getdate ()); Str=str.replace (/d|  
 
  D/g,this.getdate ()); Str=str.replace (/hh|  
  Hh/,this.gethours () >9?this.gethours (). toString (): ' 0 ' + this.gethours ()); Str=str.replace (/h|  
  H/g,this.gethours ());  
  Str=str.replace (/mm/,this.getminutes () >9?this.getminutes (). toString (): ' 0 ' + this.getminutes ());  
 
  Str=str.replace (/m/g,this.getminutes ()); Str=str.replace (/ss|  
  Ss/,this.getseconds () >9?this.getseconds (). toString (): ' 0 ' + this.getseconds ()); Str=str.replace (/s|  
 
  S/g,this.getseconds ());  
return str; }  
 
//+--------------------------------------------------- 
//| A two-time number of days difference date format is YYYY-MM-DD//+---------------------------------------------------function Daysbetween (Dateone, 
  Datetwo) {var onemonth = dateone.substring (5,dateone.lastindexof ('-')); 
  var oneday = dateone.substring (Dateone.length,dateone.lastindexof ('-') +1); 
 
  var oneyear = dateone.substring (0,dateone.indexof ('-')); var twomonth = datetwo.substring (5,Datetwo.lastindexof ('-')); 
  var twoday = datetwo.substring (Datetwo.length,datetwo.lastindexof ('-') +1); 
 
  var twoyear = datetwo.substring (0,datetwo.indexof ('-'));  
  var cha= (Date.parse (onemonth+ '/' +oneday+ '/' +oneyear ')-date.parse (twomonth+ '/' +twoday+ '/' +twoyear))/86400000); 
Return Math.Abs (CHA); } 
 
 
//+--------------------------------------------------- 
//|  
  Date Calculation//+---------------------------------------------------Date.prototype.DateAdd = function (strinterval, number) { 
  var dttmp = this; 
    Switch (strinterval) {case ' s ': return new Date (Date.parse (dttmp) + (1000 * number)); 
    Case ' n ': return new Date (Date.parse (dttmp) + (60000 * number)); 
    Case ' H ': return new Date (Date.parse (dttmp) + (3600000 * number)); 
    Case ' d ': return new Date (Date.parse (dttmp) + (86400000 * number)); 
    Case ' W ': Return new Date (Date.parse (dttmp) + ((86400000 * 7) * number)); Case ' Q ': return new Date (Dttmp.getfullyear (), (Dttmp.getmonth ()) + number*3, dttmp.geTdate (), dttmp.gethours (), Dttmp.getminutes (), dttmp.getseconds ()); Case ' m ': return new Date (Dttmp.getfullyear (), (Dttmp.getmonth ()) + number, dttmp.getdate (), dttmp.gethours (), 
    Dttmp.getminutes (), dttmp.getseconds ()); Case ' Y ': Return new Date ((dttmp.getfullyear () + number), Dttmp.getmonth (), Dttmp.getdate (), dttmp.gethours (), 
  Dttmp.getminutes (), dttmp.getseconds ()); } 
} 
 
//+--------------------------------------------------- 
//| Compare Date Difference dtend format is a date type or a valid date format string//+---------------------------------------------------Date.prototype.DateDiff = 
  function (Strinterval, dtend) {var dtstart = this; 
  if (typeof dtend = = ' string ')//if the string is converted to date type {dtend = Stringtodate (dtend); 
    Switch (strinterval) {case ' s ': Return parseint (Dtend-dtstart)/1000); 
    Case ' n ': Return parseint ((Dtend-dtstart)/60000); 
    Case ' H ': Return parseint ((dtend-dtstart)/3600000); 
    Case ' d ': Return parseint ((dtend-dtstart)/86400000); Case ' W ': RetuRN parseint ((dtend-dtstart)/(86400000 * 7)); 
    Case ' m ': Return (Dtend.getmonth () +1) + ((Dtend.getfullyear ()-dtstart.getfullyear ()) *12)-(Dtstart.getmonth () +1); 
  Case ' Y ': return dtend.getfullyear ()-dtstart.getfullyear (); } 
} 
 
//+--------------------------------------------------- 
//| The date output string that overloads the system's ToString method//+---------------------------------------------------Date.prototype.toString = function 
(Showweek) 
  {var mydate= this; 
  var str = mydate.tolocaledatestring (); 
    if (Showweek) {var Week = [' Day ', ' one ', ' two ', ' three ', ' four ', ' five ', ' six ']; 
  STR + + ' Week ' + week[mydate.getday ()]; 
return str; } 
 
//+--------------------------------------------------- 
//| Date legality Verification//| Format is: YYYY-MM-DD or yyyy/mm/dd//+---------------------------------------------------function isvaliddate (datestr) {V Ar sdate=datestr.replace (/(^\s+|\s+$)/g, ");  
  Go to both sides of the space;  
  if (sdate== ') return true; If the format satisfies the yyyy-(/) mm-(/) DD or yyyy-(/) m (/) DD or yyyy-(/) m (/) d or yyyy-(/) mm-(/) d, replace with ' 
  database, the legal date can be: Yyyy-mm/dd (2003-3/21), the database is automatically converted to the YYYY-MM-DD format var s = sdate.replace (/[\d]{4,4}[\-/]{1}[\d]{1,2} [\-/] {1} [\d]  
  {1,2}/g, ');  
    if (s== ')//description format satisfies YYYY-MM-DD or YYYY-M-DD or yyyy-m-d or yyyy-mm-d {var t=new Date (Sdate.replace, '/'));  
    var ar = sdate.split (/[-/:]/); if (Ar[0]!= t.getyear () | | ar[1]!= t.getmonth () +1 | | ar[2]!= t.getdate ()) {//alert (' Wrong date format! The format is: Yyyy-mm-dd or YYYY/MM/DD. Notice leap year.  
      ');  
    return false; } else {//alert (' Wrong date format! The format is: Yyyy-mm-dd or YYYY/MM/DD. Notice leap year.  
    ');  
  return false;  
return true; }  
 
//+--------------------------------------------------- 
//| Date Time Check//| Format is: yyyy-mm-dd HH:MM:SS//+---------------------------------------------------function checkdatetime (str) {var re  
  g =/^ (\d+)-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2}) $/;  
  var r = Str.match (reg);  
  if (r==null) return false;  
  R[2]=r[2]-1; var d= new Date (r[1],r[2],r[3],r[4],r[5],R[6]);  
  if (D.getfullyear ()!=r[1]) return false;  
  if (D.getmonth ()!=r[2]) return false;  
  if (D.getdate ()!=r[3]) return false;  
  if (D.gethours ()!=r[4]) return false;  
  if (D.getminutes ()!=r[5]) return false;  
  if (D.getseconds ()!=r[6]) return false;  
return true; }  
 
//+--------------------------------------------------- 
//| Dividing dates into groups//+---------------------------------------------------Date.prototype.toArray = function () {var mydate = 
  This 
  var myarray = Array (); 
  Myarray[0] = Mydate.getfullyear (); 
  MYARRAY[1] = Mydate.getmonth (); 
  MYARRAY[2] = Mydate.getdate (); 
  MYARRAY[3] = mydate.gethours (); 
  MYARRAY[4] = Mydate.getminutes (); 
  MYARRAY[5] = Mydate.getseconds (); 
return myarray; } 
 
//+--------------------------------------------------- 
//| Get Date data Information//| The parameter interval represents the data type//| Y year M month d days W week WW Week h when N minute s sec//+---------------------------------------------------Date.prototype.DatePart = function (int 
  Erval) {var mydate = this; var partStr= '; 
  var Week = [' Day ', ' one ', ' two ', ' three ', ' four ', ' five ', ' six ']; 
    Switch (interval) {case ' y ':p artstr = Mydate.getfullyear (); 
    Case ' m ':p artstr = Mydate.getmonth () +1;break; 
    Case ' d ':p artstr = Mydate.getdate (); 
    Case ' W ':p artstr = Week[mydate.getday ()];break; 
    Case ' ww ':p artstr = Mydate.weeknumofyear (); 
    Case ' h ':p artstr = mydate.gethours (); 
    Case ' n ':p artstr = Mydate.getminutes (); 
  Case ' s ':p artstr = Mydate.getseconds (); 
return partstr; } 
 
//+--------------------------------------------------- 
//| Gets the maximum number of days in the month of the current date//+---------------------------------------------------Date.prototype.MaxDayOfDate = function () {VA 
  R mydate = this; 
  var ary = Mydate.toarray (); 
  var date1 = (new Date (ary[0],ary[1]+1,1)); 
  var date2 = date1.dateadd (1, ' m ', 1); var result = DateDiff (date1. Format (' Yyyy-mm-dd '), Date2. 
  Format (' yyyy-mm-dd ')); 
return result; } 
 
//+--------------------------------------------------- 
//| 
Get the current date the week is the week ordinal of the year//+---------------------------------------------------Date.prototype.WeekNumOfYear = function () 
  {var mydate = this; 
  var ary = Mydate.toarray (); 
  var year = ary[0]; 
  var month = ary[1]+1; 
  var day = ary[2]; 
  document.write (' < script language=vbscript\> \ n '); 
  document.write (' mydate = Datue (' +month+ '-' +day+ '-' +year+ '); 
  document.write (' result = DatePart (' ww ', mydate) \ n '); 
  document.write (' \ n '); 
return result; } 
 
//+--------------------------------------------------- 
//| string is converted to date type//| Format mm/dd/yyyy mm-dd-yyyy yyyy/mm/dd yyyy-mm-dd//+---------------------------------------------------function 
  Stringtodate (Datestr) {var converted = Date.parse (DATESTR); 
  var mydate = new Date (converted); if (isNaN (mydate)) {//var Delimcahar = datestr.indexof ('/')!=-1? ' 
    /':'-'; 
    var arys= datestr.split ('-'); 
  MyDate = new Date (Arys[0],--arys[1],arys[2]); 
return mydate; To display: current date plus time (for example: 2009-06-12 12:00) function Curenttime () {var now = new Date ();    var year = Now.getfullyear ();   Year var month = Now.getmonth () + 1;      Month var day = Now.getdate ();      Day var hh = now.gethours ();     When var mm = Now.getminutes ();
    
    cent var clock = year + "-";
    
    if (month <) clock + = "0";
    
    Clock + + month + "-";
      
    if (Day <) clock + = "0";
    
    Clock = day + "";
      
    if (HH <) clock + = "0";
    Clock + = hh + ":"; 
    if (mm <) clock + = ' 0 '; 
    Clock = mm; 
  return (clock); }

Summarize

This is all about the JavaScript time processing summary, and hopefully it will help you to use JavaScript later.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.