»
Tiếng AnhTiếng PhápTiếng Việt

In - Thư viện định dạng ngày tháng - JavaScriptBank.com

Phiên bản đầy đủ: jsB@nk » Ứng dụng » Thư viện định dạng ngày tháng
URL: https://www.javascriptbank.com/date-format-library.html

Thư viện định dạng ngày tháng © JavaScriptBank.comBộ thư viện JavaScript này như là một phần mở rộng cho đối tượng Date có sẵn trong JavaScript, giúp bạn có thể sử dụng và định dạng ngày tháng một cách linh hoạt và tiện lợi hơn. Vui lòng xem cách sử dụng được tác giả ghi chú trực tiếp trong mã nguồn.

Phiên bản đầy đủ: jsB@nk » Ứng dụng » Thư viện định dạng ngày tháng
URL: https://www.javascriptbank.com/date-format-library.html



JavaScript
<script type="text/javascript" name="dateFormat.js">// Created by: Oded Arbel :: http://geek.co.il/wp//*** Extension of the JavaScript internal Date object to allow various formatting of* date/time values.* This implementation was designed to be compliant with the formatting of the* Java class library's SimpleDateFormat object, with the addition of the 'x' format* option to show number of seconds since the epoch (1/1/1970 00:00).** See http://java.sun.com/j2se/1.5.0/docs/api/java/text/SimpleDateFormat.html for* full details.** (c) Copyright 2006 - Oded Arbel* (c) Portions copyright 2006 - Jack Slocum*/// Static definition of Month namesDate.MONTH_NAMES = ["January", "February", "March","April", "May", "June","July", "August", "September","October", "November", "December" ];// Static definition of weekday namesDate.WEEKDAY_NAMES = ["Sunday", "Monday", "Tuesday","Wednesday", "Thursday", "Friday","Saturday" ];// clone the current date object and return a different object with identical valueDate.prototype.clone = function () {  return new Date(this.getTime());}// clear the time information from this date and return itDate.prototype.clearTime = function () {  this.setHours(0); this.setMinutes(0);  this.setSeconds(0); this.setMilliseconds(0);  return this;}// return the last day of this monthDate.prototype.lastDay = function () {  var tempDate = this.clone();  tempDate.setMonth(tempDate.getMonth()+1);  tempDate.setDate(0);  return tempDate.getDate();}// return number of days since start of yearDate.prototype.getYearDay = function () {  var today = new Date(this);  today.setHours(0); today.setMinutes(0); today.setSeconds(0);  var tempDate = new Date(today);  // set start of year  tempDate.setDate(1);  tempDate.setMonth(0);  return Math.round(  (today.getTime() - tempDate.getTime())  / 86400 / 1000) + 1; // Jan/1 is day 1}// add format() to DateDate.prototype.format = function(formatString) {  var out = new String();  var token = ""  for (var i = 0; i < formatString.length; i++) {    if (formatString.charAt(i) == token.charAt(0)) {      token = token.concat(formatString.charAt(i));      continue;    }    out = out.concat(this.convertToken(token));    token = formatString.charAt(i);  }  return out + this.convertToken(token);}// internal call to map tokens to the date dataDate.prototype.convertToken = function (str) {  switch(str.charAt(0)) {    case 'y': // set year      if (str.length > 2)      return this.getFullYear();      return this.getFullYear().toString().substring(2);    case 'd': // set date      return Date.zeroPad(this.getDate(),str.length);    case 'D': // set day in year      return this.getYearDay();    case 'a':      return this.getHours() > 11 ? "PM" : "AM";    case 'H': // set hours      return Date.zeroPad(this.getHours(),str.length);    case 'h':      return Date.zeroPad(this.get12Hours(),str.length);    case 'm': // set minutes      return Date.zeroPad(this.getMinutes(),2);    case 's': // set secondes      return Date.zeroPad(this.getSeconds(),2);    case 'S': // set milisecondes      return Date.zeroPad(this.getMilliseconds(),str.length);    case 'x': // set epoch time      return this.getTime();    case 'Z': // set time zone      return (this.getTimezoneOffset() / 60) + ":" +      Date.zeroPad(this.getTimezoneOffset() % 60,2);    case 'M': // set month      if (str.length > 3) return this.getFullMonthName();      if (str.length > 2) return this.getShortMonthName();      return Date.zeroPad(this.getMonth()+1,str.length);    case 'E': // set dow      if (str.length > 3) return this.getDOWName();      if (str.length > 1) return this.getShortDOWName();      return this.getDay();      default:      return str;  }}// Retreive the month's name in englishDate.prototype.getFullMonthName = function() {  return Date.MONTH_NAMES[this.getMonth()];}// Retreive the abberviated month name in englishDate.prototype.getShortMonthName = function() {  return Date.MONTH_NAMES[this.getMonth()].substring(0,3);}// Retreive the week day name in englishDate.prototype.getDOWName = function () {  return Date.WEEKDAY_NAMES[this.getDay()];}// Retreive the abberviated week day name in englishDate.prototype.getShortDOWName = function () {  return Date.WEEKDAY_NAMES[this.getDay()].substring(0,3);}// Retreive the hour in a 12 hour clock (without the AM/PM specification)Date.prototype.get12Hours = function () {  return this.getHours() == 0 ? 12 :  (this.getHours() > 12 ? this.getHours() - 12 : this.getHours());}// helper function to add required zero characters to fixed length fieldsDate.zeroPad = function(num, width) {  num = num.toString();  while (num.length < width)  num = "0" + num;  return num;}</script>