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

📄 date.js

📁 ajax框架extjs是一套完整的富客户端解决方案
💻 JS
📖 第 1 页 / 共 3 页
字号:
/*
 * Ext JS Library 2.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 zeroes (arbitrary number of digits allowed)    Examples:                                                                                  001 (i.e. 1ms) or                                                                                  100 (i.e. 100ms) or                                                                                  999 (i.e. 999ms) or                                                                                  999876543210 (i.e. 999.876543210ms)  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 (note: milliseconds, if present, must be specified with     Examples:        at least 1 digit. There is no limit to how many digits the millisecond    2007-04-17T15:19:21+08:00 or        value may contain. see http://www.w3.org/TR/NOTE-datetime for more info)  2008-03-16T16:18:22Z or                                                                                  2009-02-15T17:17:23.9+01:00 or                                                                                  2010-01-14T18:16:24,999876543-07: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. * (see http://www.xaprb.com/blog/2005/12/12/javascript-closures-for-runtime-efficiency/) * They generate precompiled functions from format patterns instead of parsing and * processing each pattern every time a date is formatted. These functions are available * on every Date object. */(function() {// privateDate.formatCodeToRegex = function(character, currentGroup) {    // Note: currentGroup - position in regex result array (see notes for Date.parseCodes below)    var p = Date.parseCodes[character];    if (p) {      p = Ext.type(p) == 'function'? p() : p;      Date.parseCodes[character] = p; // reassign function result to prevent repeated execution    }    return p? Ext.applyIf({      c: p.c? String.format(p.c, currentGroup || "{0}") : p.c    }, p) : {        g:0,        c:null,        s:Ext.escapeRe(character) // treat unrecognised characters as literals    }}// private shorthand for Date.formatCodeToRegex since we'll be using it fairly oftenvar $f = Date.formatCodeToRegex;Ext.apply(Date, {    // private    parseFunctions: {count:0},    parseRegexes: [],    formatFunctions: {count:0},    daysInMonth : [31,28,31,30,31,30,31,31,30,31,30,31],    y2kYear : 50,    /**     * Date interval constant     * @static     * @type String     */    MILLI : "ms",    /**     * Date interval constant     * @static     * @type String     */    SECOND : "s",    /**     * Date interval constant     * @static     * @type String     */    MINUTE : "mi",    /** Date interval constant     * @static     * @type String     */    HOUR : "h",    /**     * Date interval constant     * @static     * @type String     */    DAY : "d",    /**     * Date interval constant     * @static     * @type String     */    MONTH : "mo",    /**     * Date interval constant     * @static     * @type String     */    YEAR : "y",    /**     * An array of textual day names.     * Override these values for international dates.     * Example:     *<pre><code>    Date.dayNames = [      'SundayInYourLang',      'MondayInYourLang',      ...    ];    </code></pre>     * @type Array     * @static     */    dayNames : [        "Sunday",        "Monday",        "Tuesday",        "Wednesday",        "Thursday",        "Friday",        "Saturday"    ],    /**     * An array of textual month names.     * Override these values for international dates.     * Example:     *<pre><code>    Date.monthNames = [      'JanInYourLang',      'FebInYourLang',      ...    ];    </code></pre>     * @type Array     * @static     */    monthNames : [        "January",        "February",        "March",        "April",        "May",        "June",        "July",        "August",        "September",        "October",        "November",        "December"    ],    /**     * An object hash of zero-based javascript month numbers (with short month names as keys. note: keys are case-sensitive).     * Override these values for international dates.     * Example:     *<pre><code>    Date.monthNumbers = {      'ShortJanNameInYourLang':0,      'ShortFebNameInYourLang':1,      ...    };    </code></pre>     * @type Object     * @static     */    monthNumbers : {        Jan:0,        Feb:1,        Mar:2,        Apr:3,        May:4,        Jun:5,        Jul:6,        Aug:7,        Sep:8,        Oct:9,        Nov:10,        Dec:11    },    /**     * Get the short month name for the given month number.     * Override this function for international dates.     * @param {Number} month A zero-based javascript month number.     * @return {String} The short month name.     * @static     */    getShortMonthName : function(month) {        return Date.monthNames[month].substring(0, 3);    },    /**     * Get the short day name for the given day number.     * Override this function for international dates.     * @param {Number} day A zero-based javascript day number.     * @return {String} The short day name.     * @static     */    getShortDayName : function(day) {        return Date.dayNames[day].substring(0, 3);    },    /**     * Get the zero-based javascript month number for the given short/full month name.     * Override this function for international dates.     * @param {String} name The short/full month name.     * @return {Number} The zero-based javascript month number.     * @static     */    getMonthNumber : function(name) {        // handle camel casing for english month names (since the keys for the Date.monthNumbers hash are case sensitive)        return Date.monthNumbers[name.substring(0, 1).toUpperCase() + name.substring(1, 3).toLowerCase()];    },    /**     * The base format-code to formatting-function hashmap used by the {@link #format} method.     * Formatting functions are strings (or functions which return strings) which     * will return the appropriate value when evaluated in the context of the Date object     * from which the {@link #format} method is called.     * Add to / override these mappings for custom date formatting.     * Note: Date.format() treats characters as literals if an appropriate mapping cannot be found.     * Example:    <pre><code>    Date.formatCodes.x = "String.leftPad(this.getDate(), 2, '0')";    (new Date()).format("X"); // returns the current day of the month    </code></pre>     * @type Object     * @static     */    formatCodes : {        d: "String.leftPad(this.getDate(), 2, '0')",        D: "Date.getShortDayName(this.getDay())", // get localised short day name        j: "this.getDate()",        l: "Date.dayNames[this.getDay()]",        N: "(this.getDay() ? this.getDay() : 7)",        S: "this.getSuffix()",        w: "this.getDay()",        z: "this.getDayOfYear()",        W: "String.leftPad(this.getWeekOfYear(), 2, '0')",        F: "Date.monthNames[this.getMonth()]",        m: "String.leftPad(this.getMonth() + 1, 2, '0')",        M: "Date.getShortMonthName(this.getMonth())", // get localised short month name        n: "(this.getMonth() + 1)",        t: "this.getDaysInMonth()",        L: "(this.isLeapYear() ? 1 : 0)",        o: "(this.getFullYear() + (this.getWeekOfYear() == 1 && this.getMonth() > 0 ? +1 : (this.getWeekOfYear() >= 52 && this.getMonth() < 11 ? -1 : 0)))",        Y: "this.getFullYear()",        y: "('' + this.getFullYear()).substring(2, 4)",        a: "(this.getHours() < 12 ? 'am' : 'pm')",        A: "(this.getHours() < 12 ? 'AM' : 'PM')",        g: "((this.getHours() % 12) ? this.getHours() % 12 : 12)",        G: "this.getHours()",        h: "String.leftPad((this.getHours() % 12) ? this.getHours() % 12 : 12, 2, '0')",        H: "String.leftPad(this.getHours(), 2, '0')",

⌨️ 快捷键说明

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