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
Bộ 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
<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>