⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 date.js

📁 当前比较流行的,漂亮的JS框架,这里面用到的API文档
💻 JS
📖 第 1 页 / 共 3 页
字号:
/*
 * Ext JS Library 2.0.2
 * Copyright(c) 2006-2008, Ext JS, LLC.
 * licensing@extjs.com
 * 
 * http://extjs.com/license
 */

/** * @class Date * * The date parsing and format syntax is a subset of * <a href="http://www.php.net/date">PHP's date() function</a>, and the formats that are * supported will provide results equivalent to their PHP versions. * * The following is a list of all currently supported formats: *<pre>Format  Description                                                               Example returned values------  -----------------------------------------------------------------------   -----------------------  d     Day of the month, 2 digits with leading zeros                             01 to 31  D     A short textual representation of the day of the week                     Mon to Sun  j     Day of the month without leading zeros                                    1 to 31  l     A full textual representation of the day of the week                      Sunday to Saturday  N     ISO-8601 numeric representation of the day of the week                    1 (for Monday) through 7 (for Sunday)  S     English ordinal suffix for the day of the month, 2 characters             st, nd, rd or th. Works well with j  w     Numeric representation of the day of the week                             0 (for Sunday) to 6 (for Saturday)  z     The day of the year (starting from 0)                                     0 to 364 (365 in leap years)  W     ISO-8601 week number of year, weeks starting on Monday                    01 to 53  F     A full textual representation of a month, such as January or March        January to December  m     Numeric representation of a month, with leading zeros                     01 to 12  M     A short textual representation of a month                                 Jan to Dec  n     Numeric representation of a month, without leading zeros                  1 to 12  t     Number of days in the given month                                         28 to 31  L     Whether it's a leap year                                                  1 if it is a leap year, 0 otherwise.  o     ISO-8601 year number (identical to (Y), but if the ISO week number (W)    Examples: 1998 or 2004        belongs to the previous or next year, that year is used instead)  Y     A full numeric representation of a year, 4 digits                         Examples: 1999 or 2003  y     A two digit representation of a year                                      Examples: 99 or 03  a     Lowercase Ante meridiem and Post meridiem                                 am or pm  A     Uppercase Ante meridiem and Post meridiem                                 AM or PM  g     12-hour format of an hour without leading zeros                           1 to 12  G     24-hour format of an hour without leading zeros                           0 to 23  h     12-hour format of an hour with leading zeros                              01 to 12  H     24-hour format of an hour with leading zeros                              00 to 23  i     Minutes, with leading zeros                                               00 to 59  s     Seconds, with leading zeros                                               00 to 59  u     Milliseconds, with leading zeros                                          001 to 999  O     Difference to Greenwich time (GMT) in hours and minutes                   Example: +1030  P     Difference to Greenwich time (GMT) with colon between hours and minutes   Example: -08:00  T     Timezone abbreviation of the machine running the code                     Examples: EST, MDT, PDT ...  Z     Timezone offset in seconds (negative if west of UTC, positive if east)    -43200 to 50400  c     ISO 8601 date                                                             2007-04-17T15:19:21+08:00  U     Seconds since the Unix Epoch (January 1 1970 00:00:00 GMT)                1193432466 or -2138434463</pre> * * Example usage (note that you must escape format specifiers with '\\' to render them as character literals): * <pre><code>// Sample date:// 'Wed Jan 10 2007 15:05:01 GMT-0600 (Central Standard Time)'var dt = new Date('1/10/2007 03:05:01 PM GMT-0600');document.write(dt.format('Y-m-d'));                         // 2007-01-10document.write(dt.format('F j, Y, g:i a'));                 // January 10, 2007, 3:05 pmdocument.write(dt.format('l, \\t\\he jS of F Y h:i:s A'));  // Wednesday, the 10th of January 2007 03:05:01 PM </code></pre> * * Here are some standard date/time patterns that you might find helpful.  They * are not part of the source of Date.js, but to use them you can simply copy this * block of code into any script that is included after Date.js and they will also become * globally available on the Date object.  Feel free to add or remove patterns as needed in your code. * <pre><code>Date.patterns = {    ISO8601Long:"Y-m-d H:i:s",    ISO8601Short:"Y-m-d",    ShortDate: "n/j/Y",    LongDate: "l, F d, Y",    FullDateTime: "l, F d, Y g:i:s A",    MonthDay: "F d",    ShortTime: "g:i A",    LongTime: "g:i:s A",    SortableDateTime: "Y-m-d\\TH:i:s",    UniversalSortableDateTime: "Y-m-d H:i:sO",    YearMonth: "F, Y"};</code></pre> * * Example usage: * <pre><code>var dt = new Date();document.write(dt.format(Date.patterns.ShortDate)); </code></pre> *//* * Most of the date-formatting functions below are the excellent work of Baron Schwartz. * They generate precompiled functions from date formats instead of parsing and * processing the pattern every time you format a date.  These functions are available * on every Date object (any javascript function). * * The original article and download are here: * http://www.xaprb.com/blog/2005/12/12/javascript-closures-for-runtime-efficiency/ * */// privateDate.parseFunctions = {count:0};// privateDate.parseRegexes = [];// privateDate.formatFunctions = {count:0};// privateDate.prototype.dateFormat = function(format) {    if (Date.formatFunctions[format] == null) {        Date.createNewFormat(format);    }    var func = Date.formatFunctions[format];    return this[func]();};/** * Formats a date given the supplied format string. * @param {String} format The format string. * @return {String} The formatted date. * @method */Date.prototype.format = Date.prototype.dateFormat;// privateDate.createNewFormat = function(format) {    var funcName = "format" + Date.formatFunctions.count++;    Date.formatFunctions[format] = funcName;    var code = "Date.prototype." + funcName + " = function(){return ";    var special = false;    var ch = '';    for (var i = 0; i < format.length; ++i) {        ch = format.charAt(i);        if (!special && ch == "\\") {            special = true;        }        else if (special) {            special = false;            code += "'" + String.escape(ch) + "' + ";        }        else {            code += Date.getFormatCode(ch);        }    }    eval(code.substring(0, code.length - 3) + ";}");};// privateDate.getFormatCode = function(character) {    switch (character) {    case "d":        return "String.leftPad(this.getDate(), 2, '0') + ";    case "D":        return "Date.getShortDayName(this.getDay()) + "; // get L10n short day name    case "j":        return "this.getDate() + ";    case "l":        return "Date.dayNames[this.getDay()] + ";    case "N":        return "(this.getDay() ? this.getDay() : 7) + ";    case "S":        return "this.getSuffix() + ";    case "w":        return "this.getDay() + ";    case "z":        return "this.getDayOfYear() + ";    case "W":        return "String.leftPad(this.getWeekOfYear(), 2, '0') + ";    case "F":        return "Date.monthNames[this.getMonth()] + ";    case "m":        return "String.leftPad(this.getMonth() + 1, 2, '0') + ";    case "M":        return "Date.getShortMonthName(this.getMonth()) + "; // get L10n short month name    case "n":        return "(this.getMonth() + 1) + ";    case "t":        return "this.getDaysInMonth() + ";    case "L":        return "(this.isLeapYear() ? 1 : 0) + ";    case "o":        return "(this.getFullYear() + (this.getWeekOfYear() == 1 && this.getMonth() > 0 ? +1 : (this.getWeekOfYear() >= 52 && this.getMonth() < 11 ? -1 : 0))) + ";    case "Y":        return "this.getFullYear() + ";    case "y":        return "('' + this.getFullYear()).substring(2, 4) + ";    case "a":        return "(this.getHours() < 12 ? 'am' : 'pm') + ";    case "A":        return "(this.getHours() < 12 ? 'AM' : 'PM') + ";    case "g":        return "((this.getHours() % 12) ? this.getHours() % 12 : 12) + ";    case "G":        return "this.getHours() + ";    case "h":        return "String.leftPad((this.getHours() % 12) ? this.getHours() % 12 : 12, 2, '0') + ";    case "H":        return "String.leftPad(this.getHours(), 2, '0') + ";    case "i":        return "String.leftPad(this.getMinutes(), 2, '0') + ";    case "s":        return "String.leftPad(this.getSeconds(), 2, '0') + ";    case "u":        return "String.leftPad(this.getMilliseconds(), 3, '0') + ";    case "O":        return "this.getGMTOffset() + ";    case "P":        return "this.getGMTOffset(true) + ";    case "T":        return "this.getTimezone() + ";    case "Z":        return "(this.getTimezoneOffset() * -60) + ";    case "c":        for (var df = Date.getFormatCode, c = "Y-m-dTH:i:sP", code = "", i = 0, l = c.length; i < l; ++i) {          var e = c.charAt(i);          code += e == "T" ? "'T' + " : df(e); // treat T as a literal        }        return code;    case "U":        return "Math.round(this.getTime() / 1000) + ";    default:        return "'" + String.escape(character) + "' + ";    }};/** * Parses the passed string using the specified format. Note that this function expects dates in normal calendar * format, meaning that months are 1-based (1 = January) and not zero-based like in JavaScript dates.  Any part of * the date format that is not specified will default to the current date value for that part.  Time parts can also * be specified, but default to 0.  Keep in mind that the input date string must precisely match the specified format * string or the parse operation will fail. * Example Usage:<pre><code>//dt = Fri May 25 2007 (current date)var dt = new Date();//dt = Thu May 25 2006 (today's month/day in 2006)dt = Date.parseDate("2006", "Y");//dt = Sun Jan 15 2006 (all date parts specified)dt = Date.parseDate("2006-01-15", "Y-m-d");//dt = Sun Jan 15 2006 15:20:01 GMT-0600 (CST)dt = Date.parseDate("2006-01-15 3:20:01 PM", "Y-m-d h:i:s A" );</code></pre> * @param {String} input The unparsed date as a string. * @param {String} format The format the date is in. * @return {Date} The parsed date. * @static */Date.parseDate = function(input, format) {    if (Date.parseFunctions[format] == null) {        Date.createParser(format);    }    var func = Date.parseFunctions[format];    return Date[func](input);};// privateDate.createParser = function(format) {    var funcName = "parse" + Date.parseFunctions.count++;    var regexNum = Date.parseRegexes.length;    var currentGroup = 1;    Date.parseFunctions[format] = funcName;    var code = "Date." + funcName + " = function(input){\n"        + "var y = -1, m = -1, d = -1, h = -1, i = -1, s = -1, ms = -1, o, z, u, v;\n"        + "input = String(input);var d = new Date();\n"        + "y = d.getFullYear();\n"        + "m = d.getMonth();\n"        + "d = d.getDate();\n"        + "var results = input.match(Date.parseRegexes[" + regexNum + "]);\n"        + "if (results && results.length > 0) {";    var regex = "";    var special = false;    var ch = '';    for (var i = 0; i < format.length; ++i) {        ch = format.charAt(i);        if (!special && ch == "\\") {            special = true;        }        else if (special) {            special = false;            regex += String.escape(ch);        }        else {            var obj = Date.formatCodeToRegex(ch, currentGroup);            currentGroup += obj.g;            regex += obj.s;            if (obj.g && obj.c) {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -