A.DateParser Class
A base class for A.DateParser
.
Constructor
A.DateParser
-
opt_pattern
Parameters:
-
opt_pattern
StringMask as strftime string.
Index
Methods
Properties
- HINTS static
- HINTS.AGGREGATES static
- HINTS.AMPM static
- HINTS.DAY static
- HINTS.HOURS static
- HINTS.MINUTES static
- HINTS.MONTH static
- HINTS.SECONDS static
- HINTS.TZ static
- HINTS.YEAR static
- TOKEN_PREFIX static
- TWO_DIGIT_YEAR_BASE static
Methods
_expandPattern
-
pattern
-
pos
Expands the so called "aggregates" from the strftime pattern, e.g. %X represents expanded %Hh%Mmin%Ss pattern.
Parameters:
-
pattern
StringMask as strftime string.
-
pos
ArrayOne position array that holds the text position number. An array instance is used to keep reference to the position counter, therefore can be passed to different subparse methods.
Returns:
Expanded pattern.
_findBestStringMatch
-
val
-
data
-
opt_inverse
Attempts to match the text at a given position against an array of strings. The longer match is classified as best match, e.g if the data array contains ["f", "fo", "foo", ...] all positions will match "foobar". The longest match is "foobar".
Parameters:
-
val
StringKeyword The string to match to.
-
data
ArrayThe string array of matching patterns.
-
opt_inverse
BooleanInverts the matching test. Instead of test array values against
val
, testsval
against the array values.
Returns:
Best match index. Returns -1 if doesn't find any match.
_findNextSeparatorPos
-
compiled
-
compiledPos
-
text
-
Current
Looks for the position of the next separator that is included in the text.
Parameters:
Returns:
Position of the next separator in the compiled array
_getCalendarDate
-
data
-
opt_date
Based on the fields set, fill a Date object. For those fields that not set, use the passed in date object's value.
Parameters:
-
data
ArrayThe string array of matching patterns.
-
opt_date
DateDate object to be filled.
Returns:
Filled date object. Returns false
if have nothing to
fill.
_getLangResource
-
token
Gets resource object with tokens information for the loaded language.
Parameters:
-
token
StringStrftime token.
Returns:
Resource object.
_getNextNumericValue
-
text
-
textPos
Infer the next numeric value based on textPos
position.
Parameters:
-
text
StringInput text.
-
textPos
ArrayOne position array that holds the text position number. An array instance is used to keep reference to the position counter, therefore can be passed to different subparse methods.
Returns:
Inferred next value.
_getNextValue
-
text
-
textPos
-
opt_separator
-
opt_numeric
Infer the next value based on textPos
position.
Parameters:
-
text
StringInput text.
-
textPos
ArrayOne position array that holds the text position number. An array instance is used to keep reference to the position counter, therefore can be passed to different subparse methods.
-
opt_separator
StringIf specified is used as boundary of the next value.
-
opt_numeric
BooleanIf specified, find only next numeric values.
Returns:
Inferred next value.
_getPatternHints
-
token
Based on the strftime token, finds the hints object. Hints objects contains information such as size, numeric tokens and setters.
Parameters:
-
token
StringStrftime token.
Returns:
Hints object. If token is not supported returns false.
_subparseNumericBlob
-
blob
-
textPos
-
i
Sub-parses a numeric value. Some tokens are used in sequence, e.g. %d%m, resulting in ambigous values such as "20122013", for 12/20/2013. The found ambigous values are tested against the available token information in order to be separated.
Parameters:
-
blob
StringAmbigous numeric value.
-
textPos
ArrayOne position array that holds the text position number. An array instance is used to keep reference to the position counter, therefore can be passed to different subparse methods.
-
i
NumberToken position on the compiled array.
Returns:
Non-ambiguous numeric value.
_subparseStringBlob
-
blob
-
textPos
-
i
Sub-parses a string value. Some tokens are used in sequence, e.g. %a%b, resulting in ambigous values such as "MonJun". The found ambigous values are tested against the available token values in order to be separated.
Parameters:
-
blob
StringAmbigous string value.
-
textPos
ArrayOne position array that holds the text position number. An array instance is used to keep reference to the position counter, therefore can be passed to different subparse methods.
-
i
NumberToken position on the compiled array.
Returns:
Non-ambiguous string value.
_subparseTimeZone
-
text
-
textPos
-
i
Sub-parses timezones.
Parameters:
-
text
StringInput text.
-
textPos
ArrayOne position array that holds the text position number. An array instance is used to keep reference to the position counter, therefore can be passed to different subparse methods.
-
i
NumberToken position on the compiled array.
Returns:
Found timezone.
compilePattern
-
pattern
"Compiles" the strftime pattern. The same DateParser instance can be reused to other "compiled" masks.
Parameters:
-
pattern
StringMask as strftime string.
parse
-
mask
-
text
-
opt_date
Takes a string mask and a text as input and parses it as a native JavaScript Date.
Parameters:
-
mask
StringMask as strftime string.
-
text
StringText input to be parsed.
-
opt_date
DateOptional Date object to be used a base date for filling the parsed values.
parse {HTML} (Optional)
Any strftime string is supported, such as
%I:%M:%S %p
. This format has several specifiers defined by the Open group at: http://www.opengroup.org/onlinepubs/007908799/xsh/strftime.htmlPHP added a few of its own, defined at: http://www.php.net/strftime
This JavaScript implementation supports all the PHP specifiers and a few more. The full list is below:
If not specified, it defaults to the ISO 8601 standard date format:
%Y-%m-%d
.- %a abbreviated weekday name according to the current locale
- %A full weekday name according to the current locale
- %b abbreviated month name according to the current locale
- %B full month name according to the current locale
- %c preferred date and time representation for the current locale
- %C century number (the year divided by 100 and truncated to an
integer, range
00
to99
) - %d day of the month as a decimal number (range
01
to31
) - %D same as
%m/%d/%y
- %e day of the month as a decimal number, a single digit is preceded
by a space (range
1
to31
) - %E day of the month as a decimal number (range
1
to31
) - %F same as
%Y-%m-%d
(ISO 8601 date format) - %g like
%G
, but without the century - %G The 4-digit year corresponding to the ISO week number
- %h same as
%b
- %H hour as a decimal number using a 24-hour clock (range
00
to23
) - %I hour as a decimal number using a 12-hour clock (range
01
to12
) - %j day of the year as a decimal number (range 001 to 366)
- %k hour as a decimal number using a 24-hour clock (range
0
to23
); single digits are preceded by a blank. (See also%H
.) - %l hour as a decimal number using a 12-hour clock (range
1
to12
); single digits are preceded by a blank. (See also%I
.) - %m month as a decimal number (range
01
to12
) - %M minute as a decimal number
- %n newline character
- %p either
AM
orPM
according to the given time value, or the corresponding strings for the current locale - %P like
%p
, but lower case - %r time in a.m. and p.m. notation equal to
%I:%M:%S %p
- %R time in 24 hour notation equal to
%H:%M
- %s number of seconds since the Epoch, ie, since
1970-01-01 00:00:00
UTC - %S second as a decimal number
- %t tab character
- %T current time, equal to
%H:%M:%S
- %u weekday as a decimal number [1,7], with 1 representing Monday
- %U week number of the current year as a decimal number, starting with the first Sunday as the first day of the first week
- %V The ISO 8601:1988 week number of the current year as a decimal
number, range
01
to53
, where week 1 is the first week that has at least 4 days in the current year, and with Monday as the first day of the week. - %w day of the week as a decimal, Sunday being 0
- %W week number of the current year as a decimal number, starting with the first Monday as the first day of the first week
- %x preferred date representation for the current locale without the time
- %X preferred time representation for the current locale without the date
- %y year as a decimal number without a century (range
00
to99
) - %Y year as a decimal number including the century
- %z numerical time zone representation
- %Z time zone name or abbreviation
- %% a literal
%
character
Returns:
Native JavaScript Date. Returns false
if cannot parse.
Properties
HINTS
Object
static
Static property provides an object that contains hints information for possible token values, e.g. year, month, day etc.
HINTS.AGGREGATES
Object
static
Static property provides an object that contains hints information for aggregates tokens.
HINTS.AMPM
Object
static
Static property provides an object that contains hints information for ampm tokens.
HINTS.DAY
Object
static
Static property provides an object that contains hints information for day tokens.
HINTS.HOURS
Object
static
Static property provides an object that contains hints information for hours tokens.
HINTS.MINUTES
Object
static
Static property provides an object that contains hints information for minutes tokens.
HINTS.MONTH
Object
static
Static property provides an object that contains hints information for month tokens.
HINTS.SECONDS
Object
static
Static property provides an object that contains hints information for seconds tokens.
HINTS.TZ
Object
static
Static property provides an object that contains hints information for timezone tokens.
HINTS.YEAR
Object
static
Static property provides an object that contains hints information for year tokens.
TOKEN_PREFIX
String
static
Static property provides a string to identify the token prefix, e.g. %A.
TWO_DIGIT_YEAR_BASE
Number
static
Static property provides a base year to sum two digit years, e.g. For the mask %Y, "13" will be parsed to 2013.