add Ox.isValidDate and Ox.isInvalidDate; fix Ox.makeDate
This commit is contained in:
parent
d42b9c25fb
commit
fbc02301b5
2 changed files with 23 additions and 1 deletions
|
@ -257,7 +257,7 @@ Ox.makeDate <f> Takes a date, number or string, returns a date
|
|||
@*/
|
||||
Ox.makeDate = function(date) {
|
||||
// Safari 4/5 (<= 534.59.10) doesn't parse YYYY, YYYY-MM or YYYY-MM-DD
|
||||
if (Ox.isString(date)) {
|
||||
if (Ox.isString(date) && Ox.isInvalidDate(new Date(date))) {
|
||||
if (/^\d{4}$/.test(date)) {
|
||||
date += '-01-01';
|
||||
} else if (/^\d{4}-\d{2}$/.test(date)) {
|
||||
|
|
|
@ -241,6 +241,17 @@ Ox.isInt = function(value) {
|
|||
return isFinite(value) && value === Math.floor(value);
|
||||
};
|
||||
|
||||
/*
|
||||
Ox.isInvalidDate <f> Tests if a value is an invalid date
|
||||
(value) -> <b> True if the value is an invalid date
|
||||
value <*> Any value
|
||||
> Ox.isInvalidDate(new Date('foo'))
|
||||
true
|
||||
*/
|
||||
Ox.isValidDate = function(value) {
|
||||
return Ox.isDate(value) && Ox.isNaN(value.getTime());
|
||||
};
|
||||
|
||||
/*@
|
||||
Ox.isNaN <f> Tests if a value is `NaN`
|
||||
(value) -> <b> True if the value is `NaN`
|
||||
|
@ -371,6 +382,17 @@ Ox.isUndefined = function(value) {
|
|||
return Ox.typeOf(value) == 'undefined';
|
||||
};
|
||||
|
||||
/*
|
||||
Ox.isValidDate <f> Tests if a value is a valid date
|
||||
(value) -> <b> True if the value is a valid date
|
||||
value <*> Any value
|
||||
> Ox.isValidDate(new Date())
|
||||
true
|
||||
*/
|
||||
Ox.isValidDate = function(value) {
|
||||
return Ox.isDate(value) && !Ox.isNaN(value.getTime());
|
||||
};
|
||||
|
||||
/*@
|
||||
Ox.typeOf <f> Returns the type of a value
|
||||
(value) -> <s> Type
|
||||
|
|
Loading…
Reference in a new issue