zoneAdjustment.setTime(Long.parseLong(time.getTokenValue()));
String timeValue = time.getTokenValue(); if ( timeValue.length() > 18) timeValue = timeValue.substring( timeValue.length() - 18);  zoneAdjustment.setTime(Long.parseLong(timeValue));
	public ZoneField zoneField() throws ParseException {		try {			ZoneField zoneField = new ZoneField();			this.lexer.match('z');			this.lexer.SPorHT();			this.lexer.match('=');			this.lexer.SPorHT();			// The zoneAdjustment list:			while (lexer.lookAhead(0) != '\n') {				ZoneAdjustment zoneAdjustment = new ZoneAdjustment();				lexer.match(LexerCore.ID);				Token time = lexer.getNextToken();				this.lexer.SPorHT();				zoneAdjustment.setTime(Long.parseLong(time.getTokenValue()));				lexer.match(LexerCore.ID);				Token offset = lexer.getNextToken();				this.lexer.SPorHT();				String sign = getSign(offset.getTokenValue());				TypedTime typedTime = getTypedTime(offset.getTokenValue());				zoneAdjustment.setSign(sign);				zoneAdjustment.setOffset(typedTime);				zoneField.addZoneAdjustment(zoneAdjustment);			}			return zoneField;		} catch (Exception e) {			throw lexer.createParseException();		}	}