A.DateParser Class
A base class for A.DateParser.
Constructor
A.DateParser
-
opt_pattern
Parameters:
-
opt_patternStringMask 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:
-
patternStringMask as strftime string.
-
posArrayOne 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:
-
valStringKeyword The string to match to.
-
dataArrayThe string array of matching patterns.
-
opt_inverseBooleanInverts the matching test. Instead of test array values against
val, testsvalagainst 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:
-
dataArrayThe string array of matching patterns.
-
opt_dateDateDate 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:
-
tokenStringStrftime token.
Returns:
Resource object.
_getNextNumericValue
-
text -
textPos
Infer the next numeric value based on textPos position.
Parameters:
-
textStringInput text.
-
textPosArrayOne 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:
-
textStringInput text.
-
textPosArrayOne 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_separatorStringIf specified is used as boundary of the next value.
-
opt_numericBooleanIf 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:
-
tokenStringStrftime 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:
-
blobStringAmbigous numeric value.
-
textPosArrayOne 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.
-
iNumberToken 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:
-
blobStringAmbigous string value.
-
textPosArrayOne 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.
-
iNumberToken position on the compiled array.
Returns:
Non-ambiguous string value.
_subparseTimeZone
-
text -
textPos -
i
Sub-parses timezones.
Parameters:
-
textStringInput text.
-
textPosArrayOne 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.
-
iNumberToken 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:
-
patternStringMask 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:
-
maskStringMask as strftime string.
-
textStringText input to be parsed.
-
opt_dateDateOptional 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
00to99) - %d day of the month as a decimal number (range
01to31) - %D same as
%m/%d/%y - %e day of the month as a decimal number, a single digit is preceded
by a space (range
1to31) - %E day of the month as a decimal number (range
1to31) - %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
00to23) - %I hour as a decimal number using a 12-hour clock (range
01to12) - %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
0to23); single digits are preceded by a blank. (See also%H.) - %l hour as a decimal number using a 12-hour clock (range
1to12); single digits are preceded by a blank. (See also%I.) - %m month as a decimal number (range
01to12) - %M minute as a decimal number
- %n newline character
- %p either
AMorPMaccording 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:00UTC - %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
01to53, 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
00to99) - %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.