|
1607 | 1607 | * Throws exception when date can't be parsed
|
1608 | 1608 | * If only date is present, time substring eill be ''
|
1609 | 1609 | */
|
1610 |
| - var splitDateTime = function(dateFormat, dateTimeString, dateSettings) { |
| 1610 | + var splitDateTime = function(dateFormat, dateTimeString, dateSettings, timeSettings) { |
1611 | 1611 | try {
|
1612 |
| - var date = $.datepicker._base_parseDate(dateFormat, dateTimeString, dateSettings); |
| 1612 | + var date = $.datepicker._base_parseDate(dateFormat, dateTimeString, dateSettings), |
| 1613 | + separator = timeSettings && timeSettings.separator ? timeSettings.separator : $.timepicker._defaults.separator; |
| 1614 | + if (dateTimeString.indexOf(separator) > 0) { |
| 1615 | + var dta = dateTimeString.split(separator); |
| 1616 | + if (dta.length == 2) { |
| 1617 | + return dta; |
| 1618 | + } |
| 1619 | + } |
| 1620 | + |
1613 | 1621 | } catch (err) {
|
1614 | 1622 | if (err.indexOf(":") >= 0) {
|
1615 | 1623 | // Hack! The error message ends with a colon, a space, and
|
1616 | 1624 | // the "extra" characters. We rely on that instead of
|
1617 | 1625 | // attempting to perfectly reproduce the parsing algorithm.
|
1618 |
| - var dateStringLength = dateTimeString.length - (err.length - err.indexOf(':') - 2); |
1619 |
| - var timeString = dateTimeString.substring(dateStringLength); |
| 1626 | + var dateStringLength = dateTimeString.length - (err.length - err.indexOf(':') - 2), |
| 1627 | + timeString = dateTimeString.substring(dateStringLength); |
1620 | 1628 |
|
1621 | 1629 | return [dateTimeString.substring(0, dateStringLength), dateTimeString.substring(dateStringLength)];
|
1622 | 1630 |
|
|
1635 | 1643 | */
|
1636 | 1644 | var parseDateTimeInternal = function(dateFormat, timeFormat, dateTimeString, dateSettings, timeSettings) {
|
1637 | 1645 | var date;
|
1638 |
| - var splitRes = splitDateTime(dateFormat, dateTimeString, dateSettings); |
| 1646 | + var splitRes = splitDateTime(dateFormat, dateTimeString, dateSettings, timeSettings); |
1639 | 1647 | date = $.datepicker._base_parseDate(dateFormat, splitRes[0], dateSettings);
|
1640 | 1648 | if (splitRes[1] !== '') {
|
1641 |
| - var timeString = splitRes[1]; |
1642 |
| - var separator = timeSettings && timeSettings.separator ? timeSettings.separator : $.timepicker._defaults.separator; |
1643 |
| - if (timeString.indexOf(separator) !== 0) { |
1644 |
| - throw 'Missing time separator'; |
1645 |
| - } |
1646 |
| - timeString = timeString.substring(separator.length); |
1647 |
| - var parsedTime = $.datepicker.parseTime(timeFormat, timeString, timeSettings); |
| 1649 | + var timeString = splitRes[1], |
| 1650 | + parsedTime = $.datepicker.parseTime(timeFormat, timeString, timeSettings); |
| 1651 | + |
1648 | 1652 | if (parsedTime === null) {
|
1649 | 1653 | throw 'Wrong time format';
|
1650 | 1654 | }
|
|
0 commit comments