Java Examples for org.joda.time.format.PeriodFormatter

The following java examples will help you to understand the usage of org.joda.time.format.PeriodFormatter. These source code samples are taken from different open source projects.

Example 1
Project: humanize-master  File: TestJodaTime.java View source code
@Test
public void periodFormat() {
    PeriodFormatter fmt = PeriodFormat.getDefault();
    Assert.assertEquals(new Period(0, 100000000).toString(fmt), "1 day, 3 hours, 46 minutes and 40 seconds");
    fmt = PeriodFormat.wordBased(new Locale("es"));
    Assert.assertEquals(new Period(0, 100000000).toString(fmt), "1 día, 3 horas, 46 minutos y 40 segundos");
    fmt = ISOPeriodFormat.standard();
    Assert.assertEquals(new Period(0, 100000000).toString(fmt), "P1DT3H46M40S");
    fmt = ISOPeriodFormat.alternate();
    Assert.assertEquals(new Period(0, 100000000).toString(fmt), "P00000001T034640");
    fmt = ISOPeriodFormat.alternateWithWeeks();
    Assert.assertEquals(new Period(0, 100000000).toString(fmt), "P0000W0001T034640");
}
Example 2
Project: gobblin-master  File: TimeBasedSubDirDatasetsFinder.java View source code
/**
   * Return true iff input folder time is between compaction.timebased.min.time.ago and
   * compaction.timebased.max.time.ago.
   */
protected boolean folderWithinAllowedPeriod(Path inputFolder, DateTime folderTime) {
    DateTime currentTime = new DateTime(this.timeZone);
    PeriodFormatter periodFormatter = getPeriodFormatter();
    DateTime earliestAllowedFolderTime = getEarliestAllowedFolderTime(currentTime, periodFormatter);
    DateTime latestAllowedFolderTime = getLatestAllowedFolderTime(currentTime, periodFormatter);
    if (folderTime.isBefore(earliestAllowedFolderTime)) {
        log.info(String.format("Folder time for %s is %s, earlier than the earliest allowed folder time, %s. Skipping", inputFolder, folderTime, earliestAllowedFolderTime));
        return false;
    } else if (folderTime.isAfter(latestAllowedFolderTime)) {
        log.info(String.format("Folder time for %s is %s, later than the latest allowed folder time, %s. Skipping", inputFolder, folderTime, latestAllowedFolderTime));
        return false;
    } else {
        return true;
    }
}
Example 3
Project: jerseyoauth2-master  File: WebAppConfiguration.java View source code
private Duration parseDuration(String initParameter, Duration defaultDuration) {
    if (initParameter != null) {
        PeriodFormatter formatter = new PeriodFormatterBuilder().appendDays().appendSuffix("d ").appendHours().appendSuffix("h ").appendMinutes().appendSuffix("min").toFormatter();
        Period p = formatter.parsePeriod(initParameter);
        return p.toDurationFrom(DateTime.now());
    } else
        return defaultDuration;
}
Example 4
Project: solarnetwork-common-master  File: JodaPeriodFormatEditor.java View source code
@Override
public String getAsText() {
    Object val = getValue();
    if (val == null) {
        return null;
    }
    PeriodFormatter format = this.periodFormatters[0];
    if (val instanceof ReadablePeriod) {
        return format.print((ReadablePeriod) val);
    }
    throw new IllegalArgumentException("Unsupported period object [" + val.getClass() + "]: " + val);
}
Example 5
Project: cloudhopper-commons-master  File: UptimeMain.java View source code
public static void main(String[] args) {
    //Period period = new Period(uptime, PeriodType.standard().withYearsRemoved().withWeeksRemoved().withMonthsRemoved().withMillisRemoved());
    //MutablePeriod period = new Duration(uptime).toPeriod().toMutablePeriod();
    long uptime = UPTIME_56_SECS;
    // ah, ha -- this is super important -- need to normalize the period!
    PeriodType periodType = PeriodType.standard().withYearsRemoved().withMonthsRemoved().withWeeksRemoved().withMillisRemoved();
    Period period = new Period(uptime).normalizedStandard(periodType);
    System.out.println("Uptime: " + uptime + " ms");
    System.out.println("Weeks: " + period.getWeeks());
    System.out.println("Days: " + period.getDays());
    System.out.println("Millis: " + period.getMillis() + " ms");
    // print out the uptime
    String uptimeStyleString = PeriodFormatterUtil.getStandardUptimeStyle().print(period);
    String linuxStyleString = PeriodFormatterUtil.getLinuxUptimeStyle().print(period);
    System.out.println(uptimeStyleString);
    System.out.println(linuxStyleString);
    PeriodFormatter fmt = new PeriodFormatterBuilder().printZeroNever().appendDays().appendSuffix(" day ", " days ").appendHours().appendSuffix(" hours ").appendMinutes().appendSuffix(" mins ").printZeroAlways().appendSeconds().appendSuffix(" secs ").toFormatter();
    String str0 = fmt.print(period);
    System.out.println(str0);
    String str1 = PeriodFormat.getDefault().print(period);
    System.out.println(str1);
}
Example 6
Project: epicsarchiverap-master  File: InstanceReport.java View source code
@Override
public void execute(HttpServletRequest req, HttpServletResponse resp, ConfigService configService) throws IOException {
    logger.info("Generating Instance report");
    resp.setContentType(MimeTypeConstants.APPLICATION_JSON);
    try (PrintWriter out = resp.getWriter()) {
        LinkedList<Map<String, String>> result = new LinkedList<Map<String, String>>();
        for (ApplianceInfo info : configService.getAppliancesInCluster()) {
            HashMap<String, String> applianceInfo = new HashMap<String, String>();
            result.add(applianceInfo);
            applianceInfo.put("instance", info.getIdentity());
            int pvCount = 0;
            for (@SuppressWarnings("unused") String pvName : configService.getPVsForThisAppliance()) {
                pvCount++;
            }
            applianceInfo.put("pvCount", Integer.toString(pvCount));
            // The getApplianceMetrics here is not a typo. We redisplay some of the appliance metrics in this page.
            JSONObject engineMetrics = GetUrlContent.getURLContentAsJSONObject(info.getEngineURL() + "/getApplianceMetrics");
            JSONObject etlMetrics = GetUrlContent.getURLContentAsJSONObject(info.getEtlURL() + "/getApplianceMetrics");
            JSONObject retrievalMetrics = GetUrlContent.getURLContentAsJSONObject(info.getRetrievalURL() + "/getApplianceMetrics");
            if (engineMetrics != null && etlMetrics != null && retrievalMetrics != null) {
                logger.debug("All of the components are working for " + info.getIdentity());
                applianceInfo.put("status", "Working");
            } else {
                logger.debug("At least one of the components is not working for " + info.getIdentity());
                StringWriter buf = new StringWriter();
                buf.append("Stopped - ");
                if (engineMetrics == null)
                    buf.append("engine ");
                if (etlMetrics == null)
                    buf.append("ETL ");
                if (retrievalMetrics == null)
                    buf.append("retrieval ");
                applianceInfo.put("status", buf.toString());
            }
            GetUrlContent.combineJSONObjects(applianceInfo, engineMetrics);
            GetUrlContent.combineJSONObjects(applianceInfo, etlMetrics);
            GetUrlContent.combineJSONObjects(applianceInfo, retrievalMetrics);
            long vmStartTime = ManagementFactory.getRuntimeMXBean().getStartTime();
            Period vmInterval = new Period(vmStartTime, System.currentTimeMillis(), PeriodType.yearMonthDayTime());
            PeriodFormatter formatter = new PeriodFormatterBuilder().printZeroNever().appendYears().appendSuffix(" year", " years").appendMonths().appendSuffix(" month", " months").appendDays().appendSuffix(" day", " days").appendSeparator(" ").printZeroAlways().appendHours().appendSeparator(":").appendMinutes().appendSeparator(":").appendSeconds().toFormatter();
            applianceInfo.put("MGMT_uptime", formatter.print(new Period(vmInterval)));
            applianceInfo.put("errors", Integer.toString(0));
            applianceInfo.put("capacityUtilized", "N/A");
        }
        out.println(JSONValue.toJSONString(result));
    }
}
Example 7
Project: ho.la.urv-master  File: ReportActivity.java View source code
private void refresh(Evalos eva) {
    PeriodFormatter HHMMFormater = new PeriodFormatterBuilder().printZeroAlways().minimumPrintedDigits(2).appendHours().appendSeparator(":").appendMinutes().toFormatter();
    long accumulatedBalance = 0;
    // Fill Monday
    mReportTableMondayTheoretical.setText(eva.getDay(Day.MONDAY).getShiftDisplay());
    if (Day.today() >= Day.MONDAY) {
        Period mondayReal = eva.getDay(Day.MONDAY).getAccumulate();
        if (mondayReal != null) {
            mReportTableMondayReal.setText(HHMMFormater.print(mondayReal));
            accumulatedBalance += eva.computeBalance(eva.getDay(Day.MONDAY).getShiftDisplay(), HHMMFormater.print(mondayReal));
            mReportTableMondayBalance.setText(milisToDisplayTime(accumulatedBalance));
        }
    }
    // Fill Tuesday
    mReportTableTuesdayTheoretical.setText(eva.getDay(Day.TUESDAY).getShiftDisplay());
    if (Day.today() >= Day.TUESDAY) {
        Period tuesdayReal = eva.getDay(Day.TUESDAY).getAccumulate();
        if (tuesdayReal != null) {
            mReportTableTuesdayReal.setText(HHMMFormater.print(tuesdayReal));
            accumulatedBalance += eva.computeBalance(eva.getDay(Day.TUESDAY).getShiftDisplay(), HHMMFormater.print(tuesdayReal));
            mReportTableTuesdayBalance.setText(milisToDisplayTime(accumulatedBalance));
        }
    }
    // Fill Wednesday
    mReportTableWednesdayTheoretical.setText(eva.getDay(Day.WEDNESDAY).getShiftDisplay());
    if (Day.today() >= Day.WEDNESDAY) {
        Period wednesdayReal = eva.getDay(Day.WEDNESDAY).getAccumulate();
        if (wednesdayReal != null) {
            mReportTableWednesdayReal.setText(HHMMFormater.print(wednesdayReal));
            accumulatedBalance += eva.computeBalance(eva.getDay(Day.WEDNESDAY).getShiftDisplay(), HHMMFormater.print(wednesdayReal));
            mReportTableWednesdayBalance.setText(milisToDisplayTime(accumulatedBalance));
        }
    }
    // Fill Thursday
    mReportTableThursdayTheoretical.setText(eva.getDay(Day.THURSDAY).getShiftDisplay());
    if (Day.today() >= Day.THURSDAY) {
        Period thursdayReal = eva.getDay(Day.THURSDAY).getAccumulate();
        if (thursdayReal != null) {
            mReportTableThursdayReal.setText(HHMMFormater.print(thursdayReal));
            accumulatedBalance += eva.computeBalance(eva.getDay(Day.THURSDAY).getShiftDisplay(), HHMMFormater.print(thursdayReal));
            mReportTableThursdayBalance.setText(milisToDisplayTime(accumulatedBalance));
        }
    }
    // Fill Friday
    mReportTableFridayTheoretical.setText(eva.getDay(Day.FRIDAY).getShiftDisplay());
    if (Day.today() >= Day.FRIDAY) {
        Period fridayReal = eva.getDay(Day.FRIDAY).getAccumulate();
        if (fridayReal != null) {
            mReportTableFridayReal.setText(HHMMFormater.print(fridayReal));
            accumulatedBalance += eva.computeBalance(eva.getDay(Day.FRIDAY).getShiftDisplay(), HHMMFormater.print(fridayReal));
            mReportTableFridayBalance.setText(milisToDisplayTime(accumulatedBalance));
        }
    }
    // Fill Saturday
    mReportTableSaturdayTheoretical.setText(eva.getDay(Day.SATURDAY).getShiftDisplay());
    if (Day.today() >= Day.SATURDAY) {
        Period saturdayReal = eva.getDay(Day.SATURDAY).getAccumulate();
        if (saturdayReal != null) {
            mReportTableSaturdayReal.setText(HHMMFormater.print(saturdayReal));
            accumulatedBalance += eva.computeBalance(eva.getDay(Day.SATURDAY).getShiftDisplay(), HHMMFormater.print(saturdayReal));
            mReportTableSaturdayBalance.setText(milisToDisplayTime(accumulatedBalance));
        }
    }
    // Fill Sunday
    mReportTableSundayTheoretical.setText(eva.getDay(Day.SUNDAY).getShiftDisplay());
    if (Day.today() >= Day.SUNDAY) {
        Period sundayReal = eva.getDay(Day.SUNDAY).getAccumulate();
        if (sundayReal != null) {
            mReportTableSundayReal.setText(HHMMFormater.print(sundayReal));
            accumulatedBalance += eva.computeBalance(eva.getDay(Day.SUNDAY).getShiftDisplay(), HHMMFormater.print(sundayReal));
            mReportTableSundayBalance.setText(milisToDisplayTime(accumulatedBalance));
        }
    }
}
Example 8
Project: molgenis-master  File: ProgressImpl.java View source code
@Override
public void success() {
    jobExecution.setEndDate(new Date());
    jobExecution.setStatus(SUCCESS);
    jobExecution.setProgressInt(jobExecution.getProgressMax());
    Duration yourDuration = Duration.millis(timeRunning());
    Period period = yourDuration.toPeriod();
    PeriodFormatter periodFormatter = new PeriodFormatterBuilder().appendDays().appendSuffix("d ").appendMinutes().appendSuffix("m ").appendSeconds().appendSuffix("s ").appendMillis().appendSuffix("ms ").toFormatter();
    String timeSpent = periodFormatter.print(period);
    JOB_EXECUTION_LOG.info("Execution successful. Time spent: {}", timeSpent);
    sendEmail(jobExecution.getSuccessEmail(), jobExecution.getType() + " job succeeded.", jobExecution.getLog());
    update();
    JobExecutionContext.unset();
}
Example 9
Project: RedReader-master  File: RRTime.java View source code
public static String formatDurationFrom(final Context context, final long startTime) {
    final String space = " ";
    final String comma = ",";
    final String separator = comma + space;
    final long endTime = utcCurrentTimeMillis();
    final DateTime dateTime = new DateTime(endTime);
    final DateTime localDateTime = dateTime.withZone(DateTimeZone.getDefault());
    Period period = new Duration(startTime, endTime).toPeriodTo(localDateTime);
    PeriodFormatter periodFormatter = new PeriodFormatterBuilder().appendYears().appendSuffix(space).appendSuffix(context.getString(R.string.time_year), context.getString(R.string.time_years)).appendSeparator(separator).appendMonths().appendSuffix(space).appendSuffix(context.getString(R.string.time_month), context.getString(R.string.time_months)).appendSeparator(separator).appendDays().appendSuffix(space).appendSuffix(context.getString(R.string.time_day), context.getString(R.string.time_days)).appendSeparator(separator).appendHours().appendSuffix(space).appendSuffix(context.getString(R.string.time_hour), context.getString(R.string.time_hours)).appendSeparator(separator).appendMinutes().appendSuffix(space).appendSuffix(context.getString(R.string.time_min), context.getString(R.string.time_mins)).appendSeparator(separator).appendSeconds().appendSuffix(space).appendSuffix(context.getString(R.string.time_sec), context.getString(R.string.time_secs)).appendSeparator(separator).appendMillis().appendSuffix(space).appendSuffix(context.getString(R.string.time_ms)).toFormatter();
    String duration = periodFormatter.print(period.normalizedStandard(PeriodType.yearMonthDayTime()));
    List<String> parts = Arrays.asList(duration.split(comma));
    if (parts.size() >= 2) {
        duration = parts.get(0) + comma + parts.get(1);
    }
    return String.format(context.getString(R.string.time_ago), duration);
}
Example 10
Project: spring-rest-server-master  File: HeaderUtil.java View source code
private Period getSessionMaxAge() {
    String maxAge = environment.getRequiredProperty("auth.session.maxAge");
    PeriodFormatter format = new PeriodFormatterBuilder().appendDays().appendSuffix("d", "d").printZeroRarelyFirst().appendHours().appendSuffix("h", "h").printZeroRarelyFirst().appendMinutes().appendSuffix("m", "m").toFormatter();
    Period sessionMaxAge = format.parsePeriod(maxAge);
    if (LOG.isDebugEnabled()) {
        LOG.debug("Session maxAge is: " + formatIfNotZero(sessionMaxAge.getDays(), "days", "day") + formatIfNotZero(sessionMaxAge.getHours(), "hours", "hour") + formatIfNotZero(sessionMaxAge.getMinutes(), "minutes", "minute"));
    }
    return sessionMaxAge;
}
Example 11
Project: bennu-vaadin-master  File: VaadinProxiesCodeGeneratorTask.java View source code
@Override
public void execute() throws BuildException {
    super.execute();
    DateTime start = new DateTime();
    final Properties properties = new MultiProperty();
    try {
        properties.load(new FileInputStream(buildDir.getAbsolutePath() + "/WEB-INF/classes/configuration.properties"));
        File timestampFile = new File(srcBaseDir, "vaadin-timestamp");
        long latestBuildTime = srcBaseDir != null ? srcBaseDir.lastModified() : 0;
        boolean shouldCompile = false;
        // final String preInitClassnames =
        // properties.getProperty("pre.init.classnames");
        // System.out.println("Pre-init class names: " + preInitClassnames);
        // if (preInitClassnames != null) {
        // final String[] classnames = preInitClassnames.split(",");
        // for (final String classname : classnames) {
        // if (classname != null && !classname.isEmpty()) {
        // try {
        // Class.forName(classname.trim());
        // } catch (final ClassNotFoundException e) {
        // throw new Error(e);
        // }
        // }
        // }
        // }
        List<URL> domainModelURLs = new ArrayList<URL>();
        for (FileSet fileset : filesets) {
            if (fileset.getDir().exists()) {
                DirectoryScanner scanner = fileset.getDirectoryScanner(getProject());
                String[] includedFiles = scanner.getIncludedFiles();
                for (String includedFile : includedFiles) {
                    String filePath = fileset.getDir().getAbsolutePath() + "/" + includedFile;
                    File file = new File(filePath);
                    boolean isModified = file.lastModified() > latestBuildTime;
                    // System.out.println(includedFile + " : " + (isModified
                    // ? "not up to date" : "up to date"));
                    domainModelURLs.add(new File(filePath).toURI().toURL());
                    shouldCompile = shouldCompile || isModified;
                }
            }
        }
        // first, get the domain model
        DomainModel model = DomainModelParser.getDomainModel(domainModelURLs, false);
        VaadinProxiesCodeGenerator generator = new VaadinProxiesCodeGenerator(model, srcBaseDir, vaadinSrcDir, packageSourceLocations);
        generator.generate();
        timestampFile.delete();
        timestampFile.createNewFile();
    // } else {
    // System.out.println("All dml files are up to date, skipping generation");
    // }
    } catch (IOException e) {
        throw new BuildException(e);
    } catch (JClassAlreadyExistsException e) {
        throw new BuildException(e);
    }
    Duration processingTime = new Duration(start, new DateTime());
    PeriodFormatter formatter = new PeriodFormatterBuilder().appendMinutes().appendSuffix("m").appendSeconds().appendSuffix("s").toFormatter();
    System.out.println("Vaadin Generation Took: " + formatter.print(processingTime.toPeriod()));
}
Example 12
Project: my-ministry-assistant-master  File: Helper.java View source code
public static String getMinuteDuration(Cursor cursor) {
    SimpleDateFormat saveDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.getDefault());
    Calendar start = Calendar.getInstance(Locale.getDefault());
    Calendar end = Calendar.getInstance(Locale.getDefault());
    Duration dur = new Duration(new DateTime(start), new DateTime(start));
    Duration durchange = new Duration(new DateTime(start), new DateTime(start));
    for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {
        try {
            start.setTime(saveDateFormat.parse(cursor.getString(cursor.getColumnIndex(UnionsNameAsRef.DATE_START))));
        } catch (Exception e) {
            start = Calendar.getInstance(Locale.getDefault());
        }
        try {
            end.setTime(saveDateFormat.parse(cursor.getString(cursor.getColumnIndex(UnionsNameAsRef.DATE_END))));
        } catch (Exception e) {
            end = Calendar.getInstance(Locale.getDefault());
        }
        durchange = new Duration(new DateTime(start), new DateTime(end));
        dur = dur.withDurationAdded(durchange, 1);
    }
    cursor.close();
    PeriodFormatter retVal = new PeriodFormatterBuilder().printZeroAlways().appendMinutes().toFormatter();
    return retVal.print(dur.toPeriod());
}
Example 13
Project: prissma-master  File: ContextUnit.java View source code
/**
	 * Retrieves the specified property value from the context unit.
	 * Used by GEO and TIME context units.
	 * @param prop
	 * @return
	 * @throws ContextUnitException
	 */
public double getComplexCtxUnitProp(Property prop) throws ContextUnitException {
    if (!instance.isResource())
        throw new ContextUnitException();
    if (this.type != CtxUnitType.GEO && this.type != CtxUnitType.TIME && instance.isResource())
        throw new ContextUnitException();
    else {
        Statement stat = ((Resource) instance).getProperty(prop);
        if (stat == null)
            throw new ContextUnitException();
        // TIME conversions
        if (prop.equals(PrissmaProperties.pStart)) {
            String timeStr = stat.getLiteral().getString();
            DateTimeFormatter dtf = ISODateTimeFormat.timeParser();
            // UTC by default
            DateTime startTime = dtf.withZone(DateTimeZone.UTC).parseDateTime(timeStr);
            long millis = startTime.getMillis();
            long seconds = millis / 1000;
            return seconds;
        } else if (prop.equals(PrissmaProperties.pDuration)) {
            String durationStr = stat.getLiteral().getString();
            PeriodFormatter pf = ISOPeriodFormat.standard();
            Period period = pf.parsePeriod(durationStr);
            int seconds = period.toStandardSeconds().getSeconds();
            return seconds;
        }
        return stat.getLiteral().getDouble();
    }
}
Example 14
Project: BudgetForce2-master  File: StringConverter.java View source code
//-----------------------------------------------------------------------
/**
     * Extracts duration values from an object of this converter's type, and
     * sets them into the given ReadWritableDuration.
     *
     * @param period  period to get modified
     * @param object  the String to convert, must not be null
     * @param chrono  the chronology to use
     * @return the millisecond duration
     * @throws ClassCastException if the object is invalid
     */
public void setInto(ReadWritablePeriod period, Object object, Chronology chrono) {
    String str = (String) object;
    PeriodFormatter parser = ISOPeriodFormat.standard();
    period.clear();
    int pos = parser.parseInto(period, str, 0);
    if (pos < str.length()) {
        if (pos < 0) {
            // Parse again to get a better exception thrown.
            parser.withParseType(period.getPeriodType()).parseMutablePeriod(str);
        }
        throw new IllegalArgumentException("Invalid format: \"" + str + '"');
    }
}
Example 15
Project: csv2rdf4lod-automation-master  File: StringConverter.java View source code
//-----------------------------------------------------------------------
/**
     * Extracts duration values from an object of this converter's type, and
     * sets them into the given ReadWritableDuration.
     *
     * @param period  period to get modified
     * @param object  the String to convert, must not be null
     * @param chrono  the chronology to use
     * @return the millisecond duration
     * @throws ClassCastException if the object is invalid
     */
public void setInto(ReadWritablePeriod period, Object object, Chronology chrono) {
    String str = (String) object;
    PeriodFormatter parser = ISOPeriodFormat.standard();
    period.clear();
    int pos = parser.parseInto(period, str, 0);
    if (pos < str.length()) {
        if (pos < 0) {
            // Parse again to get a better exception thrown.
            parser.withParseType(period.getPeriodType()).parseMutablePeriod(str);
        }
        throw new IllegalArgumentException("Invalid format: \"" + str + '"');
    }
}
Example 16
Project: D-MARLA-master  File: StringConverter.java View source code
//-----------------------------------------------------------------------
/**
     * Extracts duration values from an object of this converter's type, and
     * sets them into the given ReadWritableDuration.
     *
     * @param period  period to get modified
     * @param object  the String to convert, must not be null
     * @param chrono  the chronology to use
     * @return the millisecond duration
     * @throws ClassCastException if the object is invalid
     */
public void setInto(ReadWritablePeriod period, Object object, Chronology chrono) {
    String str = (String) object;
    PeriodFormatter parser = ISOPeriodFormat.standard();
    period.clear();
    int pos = parser.parseInto(period, str, 0);
    if (pos < str.length()) {
        if (pos < 0) {
            // Parse again to get a better exception thrown.
            parser.withParseType(period.getPeriodType()).parseMutablePeriod(str);
        }
        throw new IllegalArgumentException("Invalid format: \"" + str + '"');
    }
}
Example 17
Project: fenixedu-ist-teacher-service-master  File: DistributionTeacherServicesByCourseDTO.java View source code
public String getDescription() {
    StringBuilder finalString = new StringBuilder(teacherUsername);
    finalString.append(" - ");
    finalString.append(teacherName);
    finalString.append(" - ");
    PeriodFormatter periodFormatter = new PeriodFormatterBuilder().printZeroAlways().minimumPrintedDigits(2).appendHours().appendSuffix(":").appendMinutes().toFormatter();
    finalString.append(periodFormatter.print(getTimeSpentByTeacher().toPeriod()));
    return finalString.toString();
}
Example 18
Project: Ginkou-master  File: StringConverter.java View source code
//-----------------------------------------------------------------------
/**
     * Extracts duration values from an object of this converter's type, and
     * sets them into the given ReadWritableDuration.
     *
     * @param period  period to get modified
     * @param object  the String to convert, must not be null
     * @param chrono  the chronology to use
     * @return the millisecond duration
     * @throws ClassCastException if the object is invalid
     */
public void setInto(ReadWritablePeriod period, Object object, Chronology chrono) {
    String str = (String) object;
    PeriodFormatter parser = ISOPeriodFormat.standard();
    period.clear();
    int pos = parser.parseInto(period, str, 0);
    if (pos < str.length()) {
        if (pos < 0) {
            // Parse again to get a better exception thrown.
            parser.withParseType(period.getPeriodType()).parseMutablePeriod(str);
        }
        throw new IllegalArgumentException("Invalid format: \"" + str + '"');
    }
}
Example 19
Project: h2o-3-master  File: PrettyPrint.java View source code
public static String toAge(Date from, Date to) {
    if (from == null || to == null)
        return "N/A";
    final Period period = new Period(from.getTime(), to.getTime());
    DurationFieldType[] dtf = new ArrayList<DurationFieldType>() {

        {
            add(DurationFieldType.years());
            add(DurationFieldType.months());
            add(DurationFieldType.days());
            if (period.getYears() == 0 && period.getMonths() == 0 && period.getDays() == 0) {
                add(DurationFieldType.hours());
                add(DurationFieldType.minutes());
            }
        }
    }.toArray(new DurationFieldType[0]);
    PeriodFormatter pf = PeriodFormat.getDefault();
    return pf.print(period.normalizedStandard(PeriodType.forFields(dtf)));
}
Example 20
Project: jacclog-master  File: AnalyzeLogEntriesShellCommand.java View source code
private void analyzeEntries() {
    if (service != null) {
        final DateTimeFormatter format = DateTimeFormat.forPattern("yyyyMMdd");
        final DateTime from = format.parseDateTime(this.from);
        final DateTime to = (this.to != null) ? format.parseDateTime(this.to) : from.plusDays(1);
        final Interval interval = new Interval(from, to);
        final Period period = interval.toPeriod();
        final StringBuffer buffer = new StringBuffer();
        buffer.append("Analyse the log entries from '");
        buffer.append(from.toString()).append('\'');
        buffer.append(" to '").append(to);
        // print the period
        final String space = " ";
        buffer.append("'. The period includes ");
        final PeriodFormatter dateFormat = new PeriodFormatterBuilder().appendYears().appendSuffix(" year", " years").appendSeparator(space).appendMonths().appendSuffix(" month", " months").appendSeparator(space).appendWeeks().appendSuffix(" week", " weeks").appendSeparator(space).appendDays().appendSuffix(" day", " days").appendSeparator(space).appendHours().appendSuffix(" hour", " hours").appendSeparator(space).appendMinutes().appendSuffix(" minute", " minutes").appendSeparator(space).toFormatter();
        dateFormat.printTo(buffer, period);
        buffer.append('.');
        System.out.println(buffer.toString());
        final long maxResults = service.count(interval);
        if (maxResults > 0) {
            int maxCount = 0;
            if (proceed(maxResults)) {
                final long startTime = System.currentTimeMillis();
                final LogEntryAnalysisResult result = analyzerService.analyze(interval).toResult();
                final Map<UserAgentInfo, AtomicInteger> stats = result.getUserAgentInfos();
                System.out.println("User agent information count: " + stats.size());
                String name;
                String osName;
                int count;
                for (final Entry<UserAgentInfo, AtomicInteger> entry : stats.entrySet()) {
                    name = entry.getKey().getName();
                    osName = entry.getKey().getOsName();
                    count = entry.getValue().get();
                    maxCount += count;
                    System.out.println(name + " (" + osName + ") \t" + count);
                }
                System.out.println("Sum: " + maxCount);
                final long elapsedTime = System.currentTimeMillis() - startTime;
                final Period p = new Period(elapsedTime);
                System.out.println("Total processing time: " + p.toString(FORMATTER));
            }
        } else {
            System.out.println("There is nothing to analyze.");
        }
    }
}
Example 21
Project: joda-time-master  File: Interval.java View source code
/**
     * Parses a {@code Interval} from the specified string, using any offset it contains.
     * <p>
     * The String formats are described by
     * {@link ISODateTimeFormat#dateTimeParser()}{@code .withOffsetParsed()}
     * and {@link ISOPeriodFormat#standard()}, and may be 'datetime/datetime',
     * 'datetime/period' or 'period/datetime'.
     * <p>
     * Sometimes this method and {@code new Interval(str)} return different results.
     * This can be confusing as the difference is not visible in {@link #toString()}.
     * <p>
     * When passed a string without an offset, such as '2010-06-30T01:20/P1D',
     * both the constructor and this method use the default time-zone.
     * As such, {@code Interval.parseWithOffset("2010-06-30T01:20/P1D")} and
     * {@code new Interval("2010-06-30T01:20/P1D"))} are equal.
     * <p>
     * However, when this method is passed a string with an offset,
     * the offset is directly parsed and stored.
     * As such, {@code Interval.parseWithOffset("2010-06-30T01:20+02:00/P1D")} and
     * {@code new Interval("2010-06-30T01:20+02:00/P1D"))} are NOT equal.
     * The object produced via this method has a zone of {@code DateTimeZone.forOffsetHours(2)}.
     * The object produced via the constructor has a zone of {@code DateTimeZone.getDefault()}.
     * 
     * @param str  the string to parse, not null
     * @since 2.9
     */
public static Interval parseWithOffset(String str) {
    int separator = str.indexOf('/');
    if (separator < 0) {
        throw new IllegalArgumentException("Format requires a '/' separator: " + str);
    }
    String leftStr = str.substring(0, separator);
    if (leftStr.length() <= 0) {
        throw new IllegalArgumentException("Format invalid: " + str);
    }
    String rightStr = str.substring(separator + 1);
    if (rightStr.length() <= 0) {
        throw new IllegalArgumentException("Format invalid: " + str);
    }
    DateTimeFormatter dateTimeParser = ISODateTimeFormat.dateTimeParser().withOffsetParsed();
    PeriodFormatter periodParser = ISOPeriodFormat.standard();
    DateTime start = null;
    Period period = null;
    // before slash
    char c = leftStr.charAt(0);
    if (c == 'P' || c == 'p') {
        period = periodParser.withParseType(PeriodType.standard()).parsePeriod(leftStr);
    } else {
        start = dateTimeParser.parseDateTime(leftStr);
    }
    // after slash
    c = rightStr.charAt(0);
    if (c == 'P' || c == 'p') {
        if (period != null) {
            throw new IllegalArgumentException("Interval composed of two durations: " + str);
        }
        period = periodParser.withParseType(PeriodType.standard()).parsePeriod(rightStr);
        return new Interval(start, period);
    } else {
        DateTime end = dateTimeParser.parseDateTime(rightStr);
        if (period != null) {
            return new Interval(period, end);
        } else {
            return new Interval(start, end);
        }
    }
}
Example 22
Project: Moola-master  File: TempTest.java View source code
public static void main(String[] args) {
    DateTime todayDateObj = new DateTime(2014, 8, 9, 0, 0, 0);
    DateTime backDaysObj = todayDateObj.minusDays(9);
    DateTime backMonthObj = backDaysObj.minusMonths(10);
    DateTime backYearObj = backMonthObj.minusYears(10);
    System.out.println(todayDateObj);
    System.out.println(backDaysObj);
    System.out.println(backMonthObj);
    System.out.println(backYearObj);
    System.out.println(backYearObj.plusYears(10).plusMonths(10).plusDays(9));
//        DateTimeZone zone = DateTimeZone.forID("America/Argentina/San_Luis");
//        System.out.println(zone.getShortName(System.currentTimeMillis()));
//        System.out.println(LONDON.getShortName(System.currentTimeMillis()));
//        System.out.println(PARIS.getShortName(System.currentTimeMillis()));
//        System.out.println(NEWYORK.getShortName(System.currentTimeMillis()));
//          
//        for (String id : DateTimeZone.getAvailableIDs()) {
//            DateTimeZone z = DateTimeZone.forID(id);
//            String str = z.getShortName(System.currentTimeMillis());
//            String str2 = z.getName(System.currentTimeMillis());
//            if (str.startsWith("+") || str.startsWith("-")) {
//                System.out.println(z + " " + str + " " + str2 + " " + z.getNameKey(System.currentTimeMillis()));
//                System.out.println(DateTimeFormat.forPattern("z Z").withZone(z).print(System.currentTimeMillis()));
//            }
//        }
//        Locale.setDefault(Locale.FRENCH);
//        
//        PeriodFormatter f1 = PeriodFormat.getDefault();
//        PeriodFormatter f2 = PeriodFormat.wordBased();
//        PeriodFormatter f3 = PeriodFormat.wordBased(Locale.GERMAN);
//        String str1 = f1.withLocale(Locale.ITALIAN).print(Period.months(2).withDays(3));
//        String str2 = f2.withLocale(Locale.ITALIAN).print(Period.months(2).withDays(3));
//        String str3 = f3.withLocale(Locale.ITALIAN).print(Period.months(2).withDays(3));
//        System.out.println(str1);
//        System.out.println(str2);
//        System.out.println(str3);
////        DateTimeFormatter formatter = DateTimeFormat.forPattern("'added' MMMM dd yyyy 'at' HH:mm").withZoneUTC();
//        DateTimeFormatter formatter = new DateTimeFormatterBuilder()
//            .appendLiteral("added ")
//            .appendMonthOfYearText()
//            .appendLiteral(' ')
//            .appendDayOfMonth(2)
//            .appendLiteral(' ')
//            .appendYear(4, 4)
//            .appendLiteral(" at ")
////            .append(DateTimeFormat.forPattern("HH:mm"))
//            .appendHourOfDay(2)
//            .appendLiteral(":")
//            .appendMinuteOfDay(2)
//            .toFormatter()
//            .withZoneUTC();
//
//        String s1 = "added December 11 2014 at 05:45";
//        String s2 = "added December 11 2014 at 14:45";
//    
//        DateTime date1 = DateTime.parse(s1, formatter);
//        DateTime date2 = DateTime.parse(s2, formatter);
//    
//        System.out.println(date1);
//        System.out.println(date2);
//        DateTimeZone MST = DateTimeZone.forID("MST");
//        DateTime start = new DateTime(2014, 8, 12, 9, 0, MST);
//        DateTime past1 = new DateTime(MST).minusDays(2);
//        DateTime later1 = past1.plusSeconds((int) new Duration(past1, start).getStandardSeconds());
//        System.out.println(past1);
//        System.out.println(start);
//        System.out.println(new Period(past1, start));
//        System.out.println(later1);
//        DateTime past2 = past1.withMillisOfSecond(0);
//        DateTime later2 = past2.plusSeconds((int) new Duration(past2, start).getStandardSeconds());
//        System.out.println(later2);
//        Locale poland = new Locale("pl", "PL");
//        DateTimeFormatter a = DateTimeFormat.forStyle("S-").withLocale(poland);
//        DateTimeFormatter b = DateTimeFormat.forStyle("M-").withLocale(poland);
//        System.out.println(a.print(0));
//        System.out.println(b.print(0));
//        
//        DateFormat e = DateFormat.getDateInstance(DateFormat.SHORT, poland);
//        System.out.println(e.format(new Date()));
//        DateFormat f = DateFormat.getDateInstance(DateFormat.MEDIUM, poland);
//        System.out.println(f.format(new Date()));
//        LocalDate start = new LocalDate(2014, 7, 31);
//        LocalDate end = new LocalDate(2014, 9, 17);
//        Period p = Period.fieldDifference(start, end);
//        LocalDate recalculatedEnd = start.plus(p);
//        System.out.println(p);
//        System.out.println(end);
//        System.out.println(recalculatedEnd);
//        DateTime tomorrow = new DateTime().plusDays(1);
//
//        Interval i1 = new Interval(today, today);
//        Interval i2 = new Interval(today, tomorrow);
//        Interval i3 = new Interval(tomorrow, tomorrow);
//        
//        System.out.println(i1);
//        System.out.println(i2);
//        System.out.println(i3);
//
//        if (i1.isBefore(i2)) System.out.println("i1 before i2"); // "i1 before i2"
//        if (i2.isBefore(i1)) System.out.println("i2 before i1"); // ""
//        if (i2.isBefore(i3)) System.out.println("i2 before i3"); // "i2 before i3"
//        TimeZone.setDefault(TimeZone.getTimeZone("America/Los_Angeles"));
//        DateTimeZone.setDefault(DateTimeZone.forID("America/Los_Angeles"));
//        Calendar cLocal = Calendar.getInstance();
//        cLocal.set(2014, 0, 31, 16, 0, 0);
//        cLocal.set(Calendar.MILLISECOND, 0);
//        System.out.format("Local.instant=%d\n", cLocal.getTimeInMillis()); //output: 1391212800000
//
//        Calendar cUTC = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
//        cUTC.set(2014, 1, 1, 0, 0, 0);
//        cUTC.set(Calendar.MILLISECOND, 0);
//        System.out.format("UTC.instant=%d\n", cUTC.getTimeInMillis()); //output: 1391212800000
//
//        LocalDate local = new LocalDate(cLocal.getTimeInMillis());
//        System.out.println(local + " " + local.getLocalMillis());
//        System.out.format("local=%s .instant=%d\n", local.toString(), local.toDate().getTime()); //output: local=2014-01-31 .instant=1391155200000
//        LocalDate utc = new LocalDate(cUTC.getTimeInMillis(), DateTimeZone.UTC);
//        System.out.println(utc + " " + utc.getLocalMillis());
//        System.out.format("utc=%s .instant=%d\n", utc.toString(), utc.toDate().getTime());//output: utc=2014-02-01 .instant=1391241600000
//
//        Period p1 = Period.fieldDifference(utc,local);
//        Period p = p1.normalizedStandard(PeriodType.millis()); //java.lang.ArithmeticException: Value cannot fit in an int: 2592000000
//        DateTimeZone zone = DateTimeZone.forOffsetMillis(p.getMillis());
//        Assert.assertEquals(DateTimeZone.forOffsetHours(-8), zone);        
//        
//        DateTime dtLocal = new DateTime(2014, 1, 31, 16, 00); //server time
//        DateTime dtUTC = new DateTime(2014, 2, 1, 0, 0, DateTimeZone.UTC); //Assume UTC = server+8 hours (actual code uses DateTime.now(DateTimeZone.UTC))
//        LocalDate local = dtLocal.toLocalDate();
//        LocalDate utc = dtUTC.toLocalDate();
//        System.out.println(local);
//        System.out.println(utc);
//
//        Period p = Period.fieldDifference(utc,local).normalizedStandard(PeriodType.millis()); //Throws a java.lang.ArithmeticException: Value cannot fit in an int: xx        
//        System.out.println(p);
//        DateTime dtLocal = new DateTime(2014, 1, 31, 15, 59); //Server time
//        DateTime dtUTC = new DateTime(2014, 1, 31, 12, 59, DateTimeZone.UTC); //Assume UTC = server+8 hours (actual code uses DateTime.now(DateTimeZone.UTC))
//
//        LocalDate local = dtLocal.toLocalDate();
//        LocalDate utc = dtUTC.toLocalDate();
//
//        Period p = Period.fieldDifference(utc,local).normalizedStandard(PeriodType.millis());        
//        
//        DateTimeZone timeZone = DateTimeZone.forID("America/Havana");
//        long milli = 1352005199998L;
//        MutableDateTime dt = new MutableDateTime(milli, timeZone);
//        // now dt is 2012-11-04T00:59:59.998-04:00
//
//        int year = dt.getYear(); // 2012
//        int month = dt.getMonthOfYear(); // 11
//        int day = dt.getDayOfMonth(); // 4
//
//        Interval theDay = new LocalDate(year, month, day).toInterval(timeZone);
//        // theDay is 2012-11-04T00:00:00.000-05:00/2012-11-05T00:00:00.000-05:00,
//        // which does not include dt.
//        System.out.println(theDay);
//
//        Interval lastDay = new LocalDate(year, month, day-1).toInterval(timeZone);
//        // lastDay is 2012-11-03T00:00:00.000-04:00/2012-11-04T00:00:00.000-05:00
//        // i.e. joda thinks that 2012-11-04T00:59:59.998-04:00 is an instance of 2012-11-3
//        // instead of 2012-11-04
//        System.out.println(lastDay);
//        TimeZone.setDefault(TimeZone.getTimeZone("GMT"));
//        DateTimeZone.setDefault(DateTimeZone.forOffsetHoursMinutes(5, 30));
//        DateTimeFormatter dateTimeFormatter = DateTimeFormat.forPattern("dd/MM/yyyy").withZoneUTC();
//        DateTime dateTime = DateTime.parse("10/06/2014", dateTimeFormatter).toDateTime(DateTimeZone.UTC);
//        System.out.println(dateTime.getZone());
//        long value = dateTime.getMillis()/1000;
//        System.out.println(dateTime);
//        System.out.println(value);
//        System.out.println(new Date(value * 1000));
//        parseDate("dd/MM/yyyy", "10/06/2014") giving me 1402338600
//        which is
//        GMT: Mon, 09 Jun 2014 18:30:00 GMT
//        Your time zone: 6/10/2014 12:00:00 AM GMT+5.5        
//        System.out.println(new LocalDate(ISOChronology.getInstanceUTC()));
//        System.out.println(new LocalDate(CopticChronology.getInstanceUTC()));
//        System.out.println(new LocalDate(EthiopicChronology.getInstanceUTC()));
//        
//        LocalDate coptic = new LocalDate(1, 1, 1, CopticChronology.getInstanceUTC());
//        System.out.println(coptic);
//        System.out.println(coptic.toDateTimeAtStartOfDay(DateTimeZone.UTC).withChronology(ISOChronology.getInstanceUTC()).toLocalDate());
//        
//        LocalDate ethiopic = new LocalDate(1, 1, 1, EthiopicChronology.getInstanceUTC());
//        System.out.println(ethiopic);
//        System.out.println(ethiopic.toDateTimeAtStartOfDay(DateTimeZone.UTC).withChronology(ISOChronology.getInstanceUTC()).toLocalDate());
//        DateTimeZone tz = DateTimeZone.forID("America/Argentina/Buenos_Aires");
//        DateTimeZone.setDefault(tz);
//        DateTimeFormatter df = DateTimeFormat.forPattern("EEE, dd MMM yyyy HH:mm:ss zzz");
//
//        df.parseMillis(df.print(System.currentTimeMillis()));
//        DateTimeZone branco = DateTimeZone.forID("America/Rio_Branco");
//        System.out.println(branco);
//        Instant old = new Instant(0L);
//        Instant i = new Instant(branco.nextTransition(old.getMillis()));
//        while (old.equals(i) == false) {
//            System.out.println(i);
//            old = i;
//            i = new Instant(branco.nextTransition(old.getMillis()));
//        }
//        
//        DateTime dt = new DateTime(2008, 6, 23, 23, 0, branco);
//        System.out.println(dt);
//        dt = dt.plusMinutes(30);
//        System.out.println(dt);
//        dt = dt.plusMinutes(30);
//        System.out.println(dt);
//        dt = dt.plusMinutes(30);
//        System.out.println(dt);
//        dt = dt.plusMinutes(30);
//        System.out.println(dt);
//        dt = dt.plusMinutes(30);
//        System.out.println(dt);
//        dt = dt.plusMinutes(30);
//        System.out.println(dt);
//        dt = dt.plusMinutes(30);
//        System.out.println(dt);
//        DateTimeZone HONG_KONG_TZ = DateTimeZone.forID("Asia/Hong_Kong");
//        DateTime date1 = new DateTime(2013, 10, 2, 11, 30, 53, 512, HONG_KONG_TZ);
//        DateTime date2 = date1.toDateTime(DateTimeZone.UTC);
//        System.out.println(date1);
//        System.out.println(date2);
//
//        System.out.println(date1.compareTo(date2));
//        System.out.println(date1.toLocalDate().compareTo(date2.toLocalDate()));
//        System.out.println(DateTimeComparator.getInstance().compare(date1, date2));
//        System.out.println(DateTimeComparator.getDateOnlyInstance().compare(date1, date2));
//        System.out.println(DateTimeComparator.getDateOnlyInstance().compare(date1, date1.plusMinutes(1)));
//        TimeZone jdkMST = TimeZone.getTimeZone("MST");
//        TimeZone jdkDenver = TimeZone.getTimeZone("America/Denver");
//        DateTimeZone mst = DateTimeZone.forTimeZone(jdkMST);
//        DateTimeZone mst2 = DateTimeZone.forID(jdkMST.getID());
//        System.out.println(jdkMST);
//        jdkMST.setID("America/Denver");
//        System.out.println(jdkMST);
//        System.out.println(jdkDenver);
//        System.out.println(jdkDenver.equals(jdkMST));
//        System.out.println(jdkMST.getID());
//        System.out.println(mst.getID() + (mst.isFixed() ? " Fixed" : " DST"));
//        System.out.println(mst2.getID() + (mst2.isFixed() ? " Fixed" : " DST"));
//        DateTimeZone m = DateTimeZone.forID("MST7MDT");
//        System.out.println(m + (m.isFixed() ? " Fixed" : " DST"));
//        System.out.println(DateTimeFormat.forPattern("s").print(321234));
//        System.out.println(DateTimeFormat.forPattern("ss").print(321234));
//        System.out.println(DateTimeFormat.forPattern("sss").print(321234));
//        System.out.println(DateTimeFormat.forPattern("S").print(321234));
//        System.out.println(DateTimeFormat.forPattern("SS").print(321234));
//        System.out.println(DateTimeFormat.forPattern("SSS").print(321234));
//        System.out.println(DateTimeFormat.forPattern("SSSS").print(321234));
//        
//        DateTimeFormatter f = DateTimeFormat.forPattern("M d").withLocale(Locale.UK);
//        MutableDateTime result = new MutableDateTime(2000, 1, 1, 0, 0, 0, 0, NEWYORK);
//        System.out.println("4 = " + f.parseInto(result, "2 29", 0));
//        System.out.println("" + new MutableDateTime(2000, 2, 29, 0, 0, 0, 0, NEWYORK) + " = " + result);        
//        Chronology chronology = GJChronology.getInstance();
//
//        LocalDate start = new LocalDate(2013, 5, 31, chronology);
//        LocalDate expectedEnd = new LocalDate(-1, 5, 31, chronology); // 1 BC
////        System.out.println(expectedEnd.plusYears(2013).equals(start));
//        System.out.println(start.minusYears(2013).equals(expectedEnd));
////        System.out.println(start.plus(Period.years(-2013)).equals(expectedEnd));
//        Period p1 = new Period(5L, PeriodType.hours());
//        System.out.println(p1);
//        String string = p1.toString();
//        System.out.println(string);
//        Period p2 = Period.parse(string);
//        System.out.println(p2);
//        Locale.setDefault(Locale.CHINA);
//        TimeZone sTimeZone = java.util.TimeZone.getTimeZone("GMT-01:00");
//        System.out.println(Locale.getDefault());
//        System.out.println(sTimeZone.getDisplayName());
//        DateTimeZone dtz = DateTimeZone.forTimeZone(sTimeZone);
//        System.out.println(dtz.getID());        
//        DateTime n = DateTime.now();
//        final DateTime now = n.toDateTimeISO();
//        final DateTime parsed = DateTime.parse(now.toString()).withZone(null);
//        final DateTime parsed2 = new DateTime(now.toString());
//        System.out.println(now.getZone() + " " +  parsed.getZone());
//        System.out.println(now + " " +  parsed);
//        System.out.println(now.getZone() + " " +  parsed2.getZone());
//        System.out.println(now + " " +  parsed2);
//        
//        MutableDateTime time = new MutableDateTime(DateTimeZone.forOffsetHours(1));
////        time.setZone(DateTimeZone.forOffsetHours(1));
//        time.setRounding(time.getChronology().dayOfMonth(), MutableDateTime.ROUND_FLOOR);
//
//        MutableDateTime utcTime = new MutableDateTime(DateTimeZone.UTC);
//        utcTime.setRounding(utcTime.getChronology().dayOfMonth(), MutableDateTime.ROUND_FLOOR);
//
//        time.setMillis(90000);
//        utcTime.setMillis(90000);
//        System.out.println("time: " + time + ", utc " + utcTime);
//        System.out.println("time_millis: " + time.getMillis() + ", utc_millis " + utcTime.getMillis());
//        
////        MutableDateTime time = new MutableDateTime(DateTimeZone.forOffsetHours(1));
//////        time.setZone(DateTimeZone.forOffsetHours(1));
////        time.setRounding(time.getChronology().minuteOfHour(), MutableDateTime.ROUND_FLOOR);
////
////        MutableDateTime utcTime = new MutableDateTime(DateTimeZone.UTC);
////        utcTime.setRounding(utcTime.getChronology().minuteOfHour(), MutableDateTime.ROUND_FLOOR);
////
////        time.setMillis(90000);
////        utcTime.setMillis(90000);
////        System.out.println("time: " + time + ", utc " + utcTime);
////        System.out.println("time_millis: " + time.getMillis() + ", utc_millis " + utcTime.getMillis());
}
Example 23
Project: TCSlackNotifierPlugin-master  File: SlackServerAdapter.java View source code
private void postFailureBuild(SRunningBuild build) {
    String message = "";
    PeriodFormatter durationFormatter = new PeriodFormatterBuilder().printZeroRarelyFirst().appendHours().appendSuffix(" hour", " hours").appendSeparator(" ").printZeroRarelyLast().appendMinutes().appendSuffix(" minute", " minutes").appendSeparator(" and ").appendSeconds().appendSuffix(" second", " seconds").toFormatter();
    Duration buildDuration = new Duration(1000 * build.getDuration());
    message = String.format("Project '%s' build failed! ( %s )", build.getFullName(), durationFormatter.print(buildDuration.toPeriod()));
    postToSlack(build, message, false);
}
Example 24
Project: TinyTravelTracker-master  File: StringConverter.java View source code
//-----------------------------------------------------------------------
/**
     * Extracts duration values from an object of this converter's type, and
     * sets them into the given ReadWritableDuration.
     *
     * @param period  period to get modified
     * @param object  the String to convert, must not be null
     * @param chrono  the chronology to use
     * @return the millisecond duration
     * @throws ClassCastException if the object is invalid
     */
public void setInto(ReadWritablePeriod period, Object object, Chronology chrono) {
    String str = (String) object;
    PeriodFormatter parser = ISOPeriodFormat.standard();
    period.clear();
    int pos = parser.parseInto(period, str, 0);
    if (pos < str.length()) {
        if (pos < 0) {
            // Parse again to get a better exception thrown.
            parser.withParseType(period.getPeriodType()).parseMutablePeriod(str);
        }
        throw new IllegalArgumentException("Invalid format: \"" + str + '"');
    }
}
Example 25
Project: VarexJ-master  File: StringConverter.java View source code
//-----------------------------------------------------------------------
/**
     * Extracts duration values from an object of this converter's type, and
     * sets them into the given ReadWritableDuration.
     *
     * @param period  period to get modified
     * @param object  the String to convert, must not be null
     * @param chrono  the chronology to use
     * @return the millisecond duration
     * @throws ClassCastException if the object is invalid
     */
public void setInto(ReadWritablePeriod period, Object object, Chronology chrono) {
    String str = (String) object;
    PeriodFormatter parser = ISOPeriodFormat.standard();
    period.clear();
    int pos = parser.parseInto(period, str, 0);
    if (pos < str.length()) {
        if (pos < 0) {
            // Parse again to get a better exception thrown.
            parser.withParseType(period.getPeriodType()).parseMutablePeriod(str);
        }
        throw new IllegalArgumentException("Invalid format: \"" + str + '"');
    }
}
Example 26
Project: way-master  File: StringConverter.java View source code
//-----------------------------------------------------------------------
/**
     * Extracts duration values from an object of this converter's type, and
     * sets them into the given ReadWritableDuration.
     *
     * @param period  period to get modified
     * @param object  the String to convert, must not be null
     * @param chrono  the chronology to use
     * @return the millisecond duration
     * @throws ClassCastException if the object is invalid
     */
public void setInto(ReadWritablePeriod period, Object object, Chronology chrono) {
    String str = (String) object;
    PeriodFormatter parser = ISOPeriodFormat.standard();
    period.clear();
    int pos = parser.parseInto(period, str, 0);
    if (pos < str.length()) {
        if (pos < 0) {
            // Parse again to get a better exception thrown.
            parser.withParseType(period.getPeriodType()).parseMutablePeriod(str);
        }
        throw new IllegalArgumentException("Invalid format: \"" + str + '"');
    }
}
Example 27
Project: cms-ce-master  File: ExpressionFunctions.java View source code
public String currentDatePlusOffset(String format, String periodStr) {
    DateTime nowDateTime = timeService.getNowAsDateTime();
    PeriodFormatter periodFormatter = ISOPeriodFormat.standard();
    Period period = periodFormatter.parsePeriod(periodStr);
    DateTime offsetDateTime = nowDateTime.plus(period);
    SimpleDateFormat fmt = new SimpleDateFormat(format);
    return fmt.format(offsetDateTime.toDate());
}
Example 28
Project: elw-master  File: FormatTool.java View source code
private PeriodFormatter lookupPeriodFormatter(String pattern) {
    synchronized (dtfCache) {
        final PeriodFormatter cached = pfCache.get(pattern);
        if (cached != null) {
            return cached;
        }
        final PeriodFormatter created = createDefaultPeriodFormatted(pattern).withLocale(locale);
        pfCache.put(pattern, created);
        return created;
    }
}
Example 29
Project: jresponder-master  File: MessageRefImpl.java View source code
/**
	 * Gets the JR_WAIT_AFTER_LAST_MESSAGE property and parses it as an
	 * ISO8601 duration and returns the number of milliseconds it represents.
	 * Returns null if not set.
	 * @throws IllegalArgumentException if the value is in an invalid format
	 * @return
	 */
@Override
public Long getWaitAfterLastMessage() {
    // try to parse time from message
    String myWaitAfterLastMessageString = this.getProp(MessageRefProp.JR_WAIT_AFTER_LAST_MESSAGE);
    if (myWaitAfterLastMessageString == null) {
        logger().debug("No JR_WAIT_AFTER_LAST_MESSAGE property found on message (message={})", getName());
        return null;
    }
    PeriodFormatter myPeriodFormatter = ISOPeriodFormat.standard();
    try {
        long myDuration = myPeriodFormatter.parsePeriod(myWaitAfterLastMessageString).toStandardDuration().getMillis();
        return myDuration;
    } catch (IllegalArgumentException e) {
        logger().error("Unable to parse JR_WAIT_AFTER_LAST_MESSAGE value for (message={}), value was: \"{}\"  (this is a problem you need to fix!!! e.g. for one day, use \"P1D\")", new Object[] { getName(), myWaitAfterLastMessageString });
        throw new IllegalArgumentException("Error parsing JR_WAIT_AFTER_LAST_MESSAGE value: " + myWaitAfterLastMessageString, e);
    }
}
Example 30
Project: BlackboardVCPortlet-master  File: SessionImpl.java View source code
@Override
public String getTimeFancyText(DateTime from, DateTime to) {
    final String prefix = "Join in ";
    if (to != null) {
        Duration d = new Duration(to, from);
        Period timeUntil = new Period(to.toInstant(), from.toInstant(), PeriodType.dayTime());
        long standardDays = d.getStandardDays();
        if (standardDays > 0) {
            PeriodFormatter daysHours = new PeriodFormatterBuilder().appendDays().appendSuffix(" day", " days").appendSeparator(", and ").appendHours().appendSuffix(" hour", " hours").toFormatter();
            return prefix + daysHours.print(timeUntil.normalizedStandard(PeriodType.dayTime()));
        } else {
            PeriodFormatter dafaultFormatter = new PeriodFormatterBuilder().appendHours().appendSuffix(" hour", " hours").appendSeparator(", and ").appendMinutes().appendSuffix(" minute", " minutes").toFormatter();
            return prefix + dafaultFormatter.print(timeUntil.normalizedStandard(PeriodType.dayTime()));
        }
    } else {
        return null;
    }
}
Example 31
Project: constellio-master  File: LDAPConfigurationManager.java View source code
private Duration newDuration(Map<String, String> configs, String key) {
    String durationString = getString(configs, key, null);
    if (durationString != null) {
        //format (\\d*d)(\\d*h)(\\d*mn) (d == day)
        PeriodFormatter formatter = new PeriodFormatterBuilder().appendDays().appendLiteral("d").appendHours().appendLiteral("h").appendMinutes().appendLiteral("mn").toFormatter();
        Duration duration = formatter.parsePeriod(durationString).toStandardDuration();
        return duration;
    }
    return null;
}
Example 32
Project: gina-puffinfeeder-android-viewer-master  File: ImageViewFrameActivty.java View source code
/**
     * Calculates how long it has been since the time stored in the parameters.
     * @param pic Date and time to compare with.
     * @return String describing how long it has been since the time described in the parameters.
     */
private String findTimeDifference(DateTime pic) {
    DateTime now = new DateTime(System.currentTimeMillis());
    Period diff = new Period(pic, now);
    PeriodFormatter toastFormatter = new PeriodFormatterBuilder().appendYears().appendSuffix(" year, ", " years, ").appendMonths().appendSuffix(" month, ", " months, ").appendWeeks().appendSuffix(" week, ", " weeks, ").appendDays().appendSuffix(" day,", " days,").appendSeparator(" and ").printZeroAlways().appendHours().appendSuffix(" hour", " hours").appendLiteral(" ago.").toFormatter();
    return toastFormatter.print(diff);
}
Example 33
Project: lasso-master  File: MainActivity.java View source code
private void setTimeAgoPill(DateTime start) {
    if (start == null) {
        return;
    }
    Minutes minutes = Minutes.minutesBetween(start, Instant.now());
    PeriodFormatterBuilder periodFormatterBuilder = new PeriodFormatterBuilder();
    if (minutes.toStandardWeeks().getWeeks() > 1) {
        periodFormatterBuilder.appendWeeks().appendSuffix(getApplicationContext().getString(R.string.week), getApplicationContext().getString(R.string.weeks));
    } else if (minutes.toStandardDays().getDays() > 1) {
        periodFormatterBuilder.appendDays().appendSuffix(getApplicationContext().getString(R.string.day), getApplicationContext().getString(R.string.days));
    } else if (minutes.toStandardHours().getHours() > 1) {
        periodFormatterBuilder.appendHours().appendSuffix(getApplicationContext().getString(R.string.hour), getApplicationContext().getString(R.string.hours));
    } else {
        periodFormatterBuilder.appendMinutes().appendSuffix(getApplicationContext().getString(R.string.minute), getApplicationContext().getString(R.string.minutes));
    }
    periodFormatterBuilder.appendLiteral(" ago");
    PeriodFormatter formatter = periodFormatterBuilder.toFormatter();
    String pattern = "(\\d+)(.*)";
    Pattern r = Pattern.compile(pattern);
    Log.d("minutes", "Minutes: " + formatter.print(minutes));
    Matcher m = r.matcher(formatter.print(minutes));
    if (m.find()) {
        String number = m.group(1);
        String ago = m.group(2);
        minago.update(ago, number);
    }
}
Example 34
Project: w3act-master  File: User.java View source code
/**
     * This method calculates memership period for the user.
     * @return
     */
public String calculate_membership() {
    String res = "";
    Logger.debug("createdAt: " + createdAt + ", last_access: " + last_access + ", last_login: " + last_login);
    try {
        long timestampCreated = createdAt.getTime();
        Date dateCreated = new Date(timestampCreated * 1000);
        long timestampLastAccess = Long.valueOf(last_access);
        Date dateLastAccess = new Date(timestampLastAccess * 1000);
        Logger.debug("date created: " + dateCreated);
        Logger.debug("date last access: " + dateLastAccess);
        DateTime dt1 = new DateTime(dateCreated);
        DateTime dt2 = new DateTime(dateLastAccess);
        Period period = new Period(dt1, dt2);
        PeriodFormatterBuilder formaterBuilder = new PeriodFormatterBuilder().appendMonths().appendSuffix(" months ").appendWeeks().appendSuffix(" weeks");
        PeriodFormatter pf = formaterBuilder.toFormatter();
        //	        Logger.debug(pf.print(period));
        res = pf.print(period);
    } catch (Exception e) {
        Logger.debug("date difference calculation error: " + e);
    }
    return res;
}
Example 35
Project: OpenClinica-master  File: RuleController.java View source code
@RequestMapping(value = "/studies/{study}/validateAndTestRule", method = RequestMethod.POST)
@ResponseBody
public org.openclinica.ns.rules_test.v31.RulesTest create(@RequestBody org.openclinica.ns.rules_test.v31.RulesTest ruleTest, Model model, HttpSession session, @PathVariable("study") String studyOid) throws Exception {
    ResourceBundleProvider.updateLocale(new Locale("en_US"));
    RulesPostImportContainer rpic = mapRulesToRulesPostImportContainer(ruleTest.getRules());
    StudyDAO studyDao = new StudyDAO(dataSource);
    StudyBean currentStudy = studyDao.findByOid(studyOid);
    UserAccountBean userAccount = getUserAccount();
    mayProceed(userAccount, currentStudy);
    getRulePostImportContainerService(currentStudy, userAccount);
    rpic = getRulePostImportContainerService(currentStudy, userAccount).validateRuleDefs(rpic);
    rpic = getRulePostImportContainerService(currentStudy, userAccount).validateRuleSetDefs(rpic);
    Response response = new Response();
    response.setValid(Boolean.TRUE);
    if (rpic.getInValidRuleDefs().size() > 0 || rpic.getInValidRuleSetDefs().size() > 0) {
        response.setValid(Boolean.FALSE);
        for (AuditableBeanWrapper<RuleBean> beanWrapper : rpic.getInValidRuleDefs()) {
            for (String error : beanWrapper.getImportErrors()) {
                org.openclinica.ns.response.v31.MessagesType messageType = new MessagesType();
                messageType.setMessage(error);
                response.getMessages().add(messageType);
            }
        }
        for (AuditableBeanWrapper<RuleSetBean> beanWrapper : rpic.getInValidRuleSetDefs()) {
            for (String error : beanWrapper.getImportErrors()) {
                org.openclinica.ns.response.v31.MessagesType messageType = new MessagesType();
                messageType.setMessage(error);
                response.getMessages().add(messageType);
            }
        }
    }
    HashMap<String, String> p = new HashMap<String, String>();
    for (ParameterType parameterType : ruleTest.getParameters()) {
        p.put(parameterType.getKey(), parameterType.getValue());
    }
    ExpressionObjectWrapper eow = new ExpressionObjectWrapper(dataSource, currentStudy, rpic.getRuleDefs().get(0).getExpression(), rpic.getRuleSets().get(0));
    ExpressionProcessor ep = ExpressionProcessorFactory.createExpressionProcessor(eow);
    // Run expression with populated HashMap
    DateTime start = new DateTime();
    HashMap<String, String> result = ep.testEvaluateExpression(p);
    DateTime end = new DateTime();
    Duration dur = new Duration(start, end);
    PeriodFormatter yearsAndMonths = new PeriodFormatterBuilder().printZeroAlways().appendSecondsWithMillis().appendSuffix(" second", " seconds").toFormatter();
    yearsAndMonths.print(dur.toPeriod());
    // Run expression with empty HashMap to check rule validity, because
    // using illegal test values will cause invalidity
    HashMap<String, String> k = new HashMap<String, String>();
    HashMap<String, String> theResult = ep.testEvaluateExpression(k);
    ruleTest.getParameters().clear();
    for (Map.Entry<String, String> entry : result.entrySet()) {
        ParameterType parameterType = new ParameterType();
        parameterType.setKey(entry.getKey());
        parameterType.setValue(entry.getValue());
        ruleTest.getParameters().add(parameterType);
    }
    // if (theResult.get("ruleValidation").equals("rule_valid") && result.get("ruleValidation").equals("rule_invalid")) {
    // result.put("ruleValidation", "rule_valid");
    // result.put("ruleEvaluatesTo", resword.getString("test_rules_rule_fail") + " " +
    // result.get("ruleValidationFailMessage"));
    // result.remove("ruleValidationFailMessage");
    // }
    // Put on screen
    // request.setAttribute("duration", yearsAndMonths.print(dur.toPeriod()));
    RulesTestMessagesType messageType = new RulesTestMessagesType();
    messageType.setKey("duration");
    messageType.setValue(yearsAndMonths.print(dur.toPeriod()));
    ruleTest.getRulesTestMessages().add(messageType);
    return ruleTest;
}
Example 36
Project: presto-master  File: DateTimeUtils.java View source code
public static long parsePeriodMillis(PeriodFormatter periodFormatter, String value, IntervalField startField, IntervalField endField) {
    try {
        Period period = parsePeriod(periodFormatter, value);
        return IntervalDayTime.toMillis(period.getValue(DAY_FIELD), period.getValue(HOUR_FIELD), period.getValue(MINUTE_FIELD), period.getValue(SECOND_FIELD), period.getValue(MILLIS_FIELD));
    } catch (IllegalArgumentException e) {
        throw invalidInterval(e, value, startField, endField);
    }
}
Example 37
Project: SAX-master  File: SAXProcessor.java View source code
/**
   * Generic method to convert the milliseconds into the elapsed time string.
   * 
   * @param start Start timestamp.
   * @param finish End timestamp.
   * @return String representation of the elapsed time.
   */
public static String timeToString(long start, long finish) {
    // in milliseconds
    Duration duration = new Duration(finish - start);
    PeriodFormatter formatter = new PeriodFormatterBuilder().appendDays().appendSuffix("d").appendHours().appendSuffix("h").appendMinutes().appendSuffix("m").appendSeconds().appendSuffix("s").appendMillis().appendSuffix("ms").toFormatter();
    return formatter.print(duration.toPeriod());
}
Example 38
Project: whole-master  File: SchemaDataTypeParsers.java View source code
public static PeriodFormatter durationFormatter() {
    if (duration == null) {
        duration = new PeriodFormatterBuilder().rejectSignedValues(true).appendLiteral("P").appendYears().appendSuffix("Y").appendMonths().appendSuffix("M").appendWeeks().appendSuffix("W").appendDays().appendSuffix("D").appendSeparatorIfFieldsAfter("T").appendHours().appendSuffix("H").appendMinutes().appendSuffix("M").appendSecondsWithOptionalMillis().appendSuffix("S").toFormatter();
    }
    return duration;
}
Example 39
Project: eMonocot-master  File: Functions.java View source code
/**
	  *
	  * @param start
	  *            Set the start date
	  * @param end
	  *            Set the end date
	  * @return a formatted period
	  */
public static String formatPeriod(Date start, Date end) {
    DateTime startDate = new DateTime(start);
    DateTime endDate = new DateTime(end);
    Period period = new Interval(startDate, endDate).toPeriod();
    PeriodFormatter formatter = new PeriodFormatterBuilder().minimumPrintedDigits(2).appendHours().appendSeparator(":").appendMinutes().appendSeparator(":").appendSeconds().toFormatter();
    return formatter.print(period);
}
Example 40
Project: knox-master  File: GatewayConfigImpl.java View source code
@Override
public long getGatewayDeploymentsBackupAgeLimit() {
    PeriodFormatter f = new PeriodFormatterBuilder().appendDays().toFormatter();
    String s = get(DEPLOYMENTS_BACKUP_AGE_LIMIT, "-1");
    long d;
    try {
        Period p = Period.parse(s, f);
        d = p.toStandardDuration().getMillis();
        if (d < 0) {
            d = -1;
        }
    } catch (Exception e) {
        d = -1;
    }
    return d;
}
Example 41
Project: openhab1-addons-master  File: SonosZonePlayer.java View source code
public boolean updateAlarm(SonosAlarm alarm) {
    if (alarm != null && isConfigured()) {
        Service service = device.findService(new UDAServiceId("AlarmClock"));
        Action action = service.getAction("ListAlarms");
        ActionInvocation invocation = new ActionInvocation(action);
        DateTimeFormatter formatter = DateTimeFormat.forPattern("HH:mm:ss");
        PeriodFormatter pFormatter = new PeriodFormatterBuilder().printZeroAlways().appendHours().appendSeparator(":").appendMinutes().appendSeparator(":").appendSeconds().toFormatter();
        try {
            invocation.setInput("ID", Integer.toString(alarm.getID()));
            invocation.setInput("StartLocalTime", formatter.print(alarm.getStartTime()));
            invocation.setInput("Duration", pFormatter.print(alarm.getDuration()));
            invocation.setInput("Recurrence", alarm.getRecurrence());
            invocation.setInput("RoomUUID", alarm.getRoomUUID());
            invocation.setInput("ProgramURI", alarm.getProgramURI());
            invocation.setInput("ProgramMetaData", alarm.getProgramMetaData());
            invocation.setInput("PlayMode", alarm.getPlayMode());
            invocation.setInput("Volume", Integer.toString(alarm.getVolume()));
            if (alarm.getIncludeLinkedZones()) {
                invocation.setInput("IncludeLinkedZones", "1");
            } else {
                invocation.setInput("IncludeLinkedZones", "0");
            }
            if (alarm.getEnabled()) {
                invocation.setInput("Enabled", "1");
            } else {
                invocation.setInput("Enabled", "0");
            }
        } catch (InvalidValueException ex) {
            logger.error("Action Invalid Value Exception {}", ex.getMessage());
        } catch (NumberFormatException ex) {
            logger.error("Action Invalid Value Format Exception {}", ex.getMessage());
        }
        executeActionInvocation(invocation);
        return true;
    } else {
        return false;
    }
}
Example 42
Project: java-saml-master  File: Util.java View source code
/**
	 * Interprets a ISO8601 duration value relative to a given timestamp.
	 *
	 * @param durationString
	 * 				 The duration, as a string.
	 * @param timestamp 
	 *               The unix timestamp we should apply the duration to.
	 *
	 * @return the new timestamp, after the duration is applied In Seconds.
	 *
	 * @throws IllegalArgumentException
	 */
public static long parseDuration(String durationString, long timestamp) throws IllegalArgumentException {
    boolean haveMinus = false;
    if (durationString.startsWith("-")) {
        durationString = durationString.substring(1);
        haveMinus = true;
    }
    PeriodFormatter periodFormatter = ISOPeriodFormat.standard().withLocale(new Locale("UTC"));
    Period period = periodFormatter.parsePeriod(durationString);
    DateTime dt = new DateTime(timestamp * 1000, DateTimeZone.UTC);
    DateTime result = null;
    if (haveMinus) {
        result = dt.minus(period);
    } else {
        result = dt.plus(period);
    }
    return result.getMillis() / 1000;
}
Example 43
Project: Traktoid-master  File: DateHelper.java View source code
public static String getRuntime(int runtime) {
    PeriodFormatter formatter = new PeriodFormatterBuilder().printZeroNever().appendHours().appendSeparatorIfFieldsBefore("h").minimumPrintedDigits(2).appendMinutes().appendSeparatorIfFieldsBefore("m").toFormatter();
    return formatter.print(new Period(runtime * 60 * 1000));
}
Example 44
Project: gocd-master  File: RunDuration.java View source code
public String duration(PeriodFormatter formatter) {
    return "In Progress";
}
Example 45
Project: kickmaterial-master  File: PeriodToStringConverter.java View source code
/**
     * Shorter syntax for creating {@link PeriodFormatterAndValue}
     *
     * @param formatter
     * @param value
     * @return
     */
private static PeriodFormatterAndValue pav(@Nonnull PeriodFormatter formatter, int value) {
    return new PeriodFormatterAndValue(formatter, value);
}
Example 46
Project: lightblue-migrator-master  File: NMPMonitor.java View source code
/**
     * Returns the period in msecs
     */
private static long parsePeriod(String periodStr) {
    PeriodFormatter fmt = PeriodFormat.getDefault();
    Period p = fmt.parsePeriod(periodStr);
    return p.toStandardDuration().getMillis();
}
Example 47
Project: gson-jodatime-serialisers-master  File: PeriodConverter.java View source code
/**
   * Gson invokes this call-back method during serialization when it encounters a field of the
   * specified type. <p>
   *
   * In the implementation of this call-back method, you should consider invoking
   * {@link JsonSerializationContext#serialize(Object, Type)} method to create JsonElements for any
   * non-trivial field of the {@code src} object. However, you should never invoke it on the
   * {@code src} object itself since that will cause an infinite loop (Gson will call your
   * call-back method again).
   * @param src the object that needs to be converted to Json.
   * @param typeOfSrc the actual type (fully genericized version) of the source object.
   * @return a JsonElement corresponding to the specified object.
   */
@Override
public JsonElement serialize(Period src, Type typeOfSrc, JsonSerializationContext context) {
    final PeriodFormatter fmt = ISOPeriodFormat.standard();
    return new JsonPrimitive(fmt.print(src));
}
Example 48
Project: substeps-core-master  File: DetailedJsonBuilder.java View source code
private String convert(long runningDurationMillis) {
    Duration duration = new Duration(runningDurationMillis);
    PeriodFormatter formatter = PeriodFormat.getDefault();
    return formatter.print(duration.toPeriod());
}