int year = parseInt(date, offset, offset += 4); if (checkOffset(date, offset, '-')) { offset += 1; int month = parseInt(date, offset, offset += 2); if (checkOffset(date, offset, '-')) { offset += 1; int day = parseInt(date, offset, offset += 2); hour = parseInt(date, offset += 1, offset += 2); if (checkOffset(date, offset, ':')) { offset += 1; minutes = parseInt(date, offset, offset += 2); if (checkOffset(date, offset, ':')) { offset += 1; char c = date.charAt(offset); if (c != 'Z' && c != '+' && c != '-') { seconds = parseInt(date, offset, offset += 2); if (seconds > 59 && seconds < 63) seconds = 59; // truncate up to 3 leap seconds int endOffset = indexOfNonDigit(date, offset + 1); // assume at least one digit int parseEndOffset = Math.min(endOffset, offset + 3); // parse up to 3 digits int fraction = parseInt(date, offset, parseEndOffset);
int year = parseInt(date, offset, offset += 4); checkOffset(date, offset, '-'); int month = parseInt(date, offset += 1, offset += 2); checkOffset(date, offset, '-'); int day = parseInt(date, offset += 1, offset += 2); checkOffset(date, offset, 'T'); int hour = parseInt(date, offset += 1, offset += 2); checkOffset(date, offset, ':'); int minutes = parseInt(date, offset += 1, offset += 2); checkOffset(date, offset, ':'); int seconds = parseInt(date, offset += 1, offset += 2); milliseconds = parseInt(date, offset += 1, offset += 3);
int year = parseInt(date, offset, offset += 4); checkOffset(date, offset, '-'); int month = parseInt(date, offset += 1, offset += 2); checkOffset(date, offset, '-'); int day = parseInt(date, offset += 1, offset += 2); checkOffset(date, offset, 'T'); int hour = parseInt(date, offset += 1, offset += 2); checkOffset(date, offset, ':'); int minutes = parseInt(date, offset += 1, offset += 2); checkOffset(date, offset, ':'); int seconds = parseInt(date, offset += 1, offset += 2); milliseconds = parseInt(date, offset += 1, offset += 3);
int year = parseInt(date, offset, offset += 4); if (checkOffset(date, offset, '-')) { offset += 1; int month = parseInt(date, offset, offset += 2); if (checkOffset(date, offset, '-')) { offset += 1; int day = parseInt(date, offset, offset += 2); hour = parseInt(date, offset += 1, offset += 2); if (checkOffset(date, offset, ':')) { offset += 1; minutes = parseInt(date, offset, offset += 2); if (checkOffset(date, offset, ':')) { offset += 1; char c = date.charAt(offset); if (c != 'Z' && c != '+' && c != '-') { seconds = parseInt(date, offset, offset += 2); if (seconds > 59 && seconds < 63) seconds = 59; // truncate up to 3 leap seconds int endOffset = indexOfNonDigit(date, offset + 1); // assume at least one digit int parseEndOffset = Math.min(endOffset, offset + 3); // parse up to 3 digits int fraction = parseInt(date, offset, parseEndOffset);
int year = parseInt(date, offset, offset += 4); if (checkOffset(date, offset, '-')) { offset += 1; int month = parseInt(date, offset, offset += 2); if (checkOffset(date, offset, '-')) { offset += 1; int day = parseInt(date, offset, offset += 2); hour = parseInt(date, offset += 1, offset += 2); if (checkOffset(date, offset, ':')) { offset += 1; minutes = parseInt(date, offset, offset += 2); if (checkOffset(date, offset, ':')) { offset += 1; char c = date.charAt(offset); if (c != 'Z' && c != '+' && c != '-') { seconds = parseInt(date, offset, offset += 2); milliseconds = parseInt(date, offset += 1, offset += 3);
int year = parseInt(date, offset, offset += 4); if (checkOffset(date, offset, '-')) { offset += 1; int month = parseInt(date, offset, offset += 2); if (checkOffset(date, offset, '-')) { offset += 1; int day = parseInt(date, offset, offset += 2); hour = parseInt(date, offset += 1, offset += 2); if (checkOffset(date, offset, ':')) { offset += 1; minutes = parseInt(date, offset, offset += 2); if (checkOffset(date, offset, ':')) { offset += 1; char c = date.charAt(offset); if (c != 'Z' && c != '+' && c != '-') { seconds = parseInt(date, offset, offset += 2); milliseconds = parseInt(date, offset += 1, offset += 3);
int year = parseInt(date, offset, offset += 4); if (checkOffset(date, offset, '-')) { offset += 1; int month = parseInt(date, offset, offset += 2); if (checkOffset(date, offset, '-')) { offset += 1; int day = parseInt(date, offset, offset += 2); hour = parseInt(date, offset += 1, offset += 2); if (checkOffset(date, offset, ':')) { offset += 1; minutes = parseInt(date, offset, offset += 2); if (checkOffset(date, offset, ':')) { offset += 1; char c = date.charAt(offset); if (c != 'Z' && c != '+' && c != '-') { seconds = parseInt(date, offset, offset += 2); if (seconds > 59 && seconds < 63) seconds = 59; // truncate up to 3 leap seconds int endOffset = indexOfNonDigit(date, offset + 1); // assume at least one digit int parseEndOffset = Math.min(endOffset, offset + 3); // parse up to 3 digits int fraction = parseInt(date, offset, parseEndOffset);