/** * Return dateTime in the pattern required */ public static String toDateTimeString(DateTime time, String pattern) { if(pattern == null) { throw new IllegalArgumentException("null pattern for datetime"); } if(pattern.startsWith("yyyy")) { String result = time.toString(pattern); if(result.matches("((.*\\+00:00)||(.*-00:00))")) { result = result.substring(0, result.length()- 6) + "Z"; } else if (result.matches("((.*\\+0000)||(.*-0000))")) { result = result.substring(0, result.length()- 5) + "Z"; } return result; } else { int t = pattern.indexOf("T"); if( t > 0) { String dateEle = toDateString(time, pattern.substring(0, t)); String timeEle = toTimeString(time, pattern.substring(t+1)); return dateEle + "T" + timeEle; } else { return toDateString(time, pattern); } } }
/** * Return dateTime in the pattern required */ public static String toDateTimeString(DateTime time, String pattern) { if(pattern == null) { throw new IllegalArgumentException("null pattern for datetime"); } if(pattern.startsWith("yyyy")) { String result = time.toString(pattern); if(result.matches("((.*\\+00:00)||(.*-00:00))")) { result = result.substring(0, result.length()- 6) + "Z"; } else if (result.matches("((.*\\+0000)||(.*-0000))")) { result = result.substring(0, result.length()- 5) + "Z"; } return result; } else { int t = pattern.indexOf("T"); if( t > 0) { String dateEle = toDateString(time, pattern.substring(0, t)); String timeEle = toTimeString(time, pattern.substring(t+1)); return dateEle + "T" + timeEle; } else { return toDateString(time, pattern); } } }
/** * Constructs a DvTime, mainly for use in addition and subtraction */ protected DvTime(List<ReferenceRange<DvTime>> referenceRanges, DvInterval<DvTime> normalRange, CodePhrase normalStatus, DvDuration accuracy, String magnitudeStatus, DateTime datetime, String pattern) { super(referenceRanges, normalRange, normalStatus, accuracy, magnitudeStatus, datetime); setValue(DvDateTimeParser.toTimeString(getDateTime(), pattern)); setBooleans(pattern); }
/** * Constructs a DvTime, mainly for use in addition and subtraction */ protected DvTime(List<ReferenceRange<DvTime>> referenceRanges, DvInterval<DvTime> normalRange, CodePhrase normalStatus, DvDuration accuracy, String magnitudeStatus, DateTime datetime, String pattern) { super(referenceRanges, normalRange, normalStatus, accuracy, magnitudeStatus, datetime); setValue(DvDateTimeParser.toTimeString(getDateTime(), pattern)); setBooleans(pattern); }
/** * Constructs a partial DvTime * * @param hour * @param minute * @param timezone null if use default timezone */ public DvTime(int hour, int minute, TimeZone timezone) { super(DvDateTimeParser.convertTime(hour, minute, 0, 0, timezone)); String format = timezone == null ? "HH:mm" : "HH:mmZZ"; setValue(DvDateTimeParser.toTimeString(getDateTime(), format)); setBooleans(true, true, false, false); }
/** * Constructs a partial DvTime * * @param hour * @param timezone null if use default timezone */ public DvTime(int hour, TimeZone timezone) { super(DvDateTimeParser.convertTime(hour, 0, 0, 0, timezone)); String format = timezone == null ? "HH" : "HHZZ"; setValue(DvDateTimeParser.toTimeString(getDateTime(), format)); setBooleans(true, false, false, false); }
/** * Constructs a DvTime with current point of time * The format of time value as the result of this constructor * is HH:mm:ss.SSSZZ * */ public DvTime() { super(DvDateTimeParser.defaultTime()); setValue(DvDateTimeParser.toTimeString(getDateTime(), "HH:mm:ss,SSSZZ")); setBooleans(false, true, true, true); }
/** * Constructs a partial DvTime * * @param hour * @param timezone null if use default timezone */ public DvTime(int hour, TimeZone timezone) { super(DvDateTimeParser.convertTime(hour, 0, 0, 0, timezone)); String format = timezone == null ? "HH" : "HHZZ"; setValue(DvDateTimeParser.toTimeString(getDateTime(), format)); setBooleans(true, false, false, false); }
/** * Constructs a DvTime with current point of time * The format of time value as the result of this constructor * is HH:mm:ss.SSSZZ * */ public DvTime() { super(DvDateTimeParser.defaultTime()); setValue(DvDateTimeParser.toTimeString(getDateTime(), "HH:mm:ss,SSSZZ")); setBooleans(false, true, true, true); }
/** * Constructs a partial DvTime * * @param hour * @param minute * @param timezone null if use default timezone */ public DvTime(int hour, int minute, TimeZone timezone) { super(DvDateTimeParser.convertTime(hour, minute, 0, 0, timezone)); String format = timezone == null ? "HH:mm" : "HH:mmZZ"; setValue(DvDateTimeParser.toTimeString(getDateTime(), format)); setBooleans(true, true, false, false); }
/** * Constructs a DvTime * * @param hour * @param minute * @param second * @param timezone null if use default timezone */ public DvTime(int hour, int minute, int second, TimeZone timezone) { super(DvDateTimeParser.convertTime(hour, minute, second, 0, timezone)); String format = timezone == null ? "HH:mm:ss" : "HH:mm:ssZZ"; setValue(DvDateTimeParser.toTimeString(getDateTime(), format)); setBooleans(false, true, true, false); }
/** * Constructs a DvTime * * @param hour * @param minute * @param second * @param timezone null if use default timezone */ public DvTime(int hour, int minute, int second, TimeZone timezone) { super(DvDateTimeParser.convertTime(hour, minute, second, 0, timezone)); String format = timezone == null ? "HH:mm:ss" : "HH:mm:ssZZ"; setValue(DvDateTimeParser.toTimeString(getDateTime(), format)); setBooleans(false, true, true, false); }
/** * Constructs a DvTime * * @param hour * @param minute * @param second * @param fs * @param timezone null if use default timezone */ public DvTime(int hour, int minute, int second, double fs, TimeZone timezone) { super(DvDateTimeParser.convertTime(hour, minute, second, fs, timezone)); String format = timezone == null ? "HH:mm:ss,SSS" : "HH:mm:ss,SSSZZ"; setValue(DvDateTimeParser.toTimeString(getDateTime(), format)); setBooleans(false, true, true, true); }
/** * Constructs a DvTime * * @param hour * @param minute * @param second * @param fs * @param timezone null if use default timezone */ public DvTime(int hour, int minute, int second, double fs, TimeZone timezone) { super(DvDateTimeParser.convertTime(hour, minute, second, fs, timezone)); String format = timezone == null ? "HH:mm:ss,SSS" : "HH:mm:ss,SSSZZ"; setValue(DvDateTimeParser.toTimeString(getDateTime(), format)); setBooleans(false, true, true, true); }