Example usage for org.joda.time.format DateTimeFormat forPattern

List of usage examples for org.joda.time.format DateTimeFormat forPattern

Introduction

In this page you can find the example usage for org.joda.time.format DateTimeFormat forPattern.

Prototype

public static DateTimeFormatter forPattern(String pattern) 

Source Link

Document

Factory to create a formatter from a pattern string.

Usage

From source file:com.money.manager.ex.settings.BehaviourSettingsFragment.java

License:Open Source License

private void showTimePicker() {
    final BehaviourSettings settings = new BehaviourSettings(getActivity());

    RadialTimePickerDialogFragment.OnTimeSetListener timeSetListener = new RadialTimePickerDialogFragment.OnTimeSetListener() {
        @Override//from  w w w.j  a va 2s . c  om
        public void onTimeSet(RadialTimePickerDialogFragment dialog, int hourOfDay, int minute) {
            String value = String.format("%02d:%02d", hourOfDay, minute);
            settings.setNotificationTime(value);
        }
    };

    // get time to display (current setting)
    String timeString = settings.getNotificationTime();
    DateTimeFormatter formatter = DateTimeFormat.forPattern(Constants.TIME_FORMAT);
    DateTime currentValue = formatter.parseDateTime(timeString);

    int hour = currentValue != null ? currentValue.getHourOfDay() : 8;
    int minute = currentValue != null ? currentValue.getMinuteOfHour() : 0;

    RadialTimePickerDialogFragment timePicker = new RadialTimePickerDialogFragment()
            .setOnTimeSetListener(timeSetListener).setStartTime(hour, minute).setThemeDark();
    timePicker.show(getChildFragmentManager(), KEY_NOTIFICATION_TIME);
}

From source file:com.money.manager.ex.utils.MmxDateTimeUtils.java

License:Open Source License

public static DateTime from(String dateString, String pattern) {
    if (TextUtils.isEmpty(dateString))
        return null;

    DateTimeFormatter format = DateTimeFormat.forPattern(pattern);
    //        DateTime dateTime = format.parseDateTime(dateString);
    DateTime dateTime = format // .withZoneUTC()
            .parseDateTime(dateString);/*from  w ww.  j av a  2  s .  c o  m*/
    return dateTime;
}

From source file:com.money.manager.ex.utils.MmxDateTimeUtils.java

License:Open Source License

public static String getDateStringFrom(DateTime dateTime, String pattern) {
    DateTimeFormatter format = DateTimeFormat.forPattern(pattern);
    String result = format.print(dateTime);
    return result;
}

From source file:com.moosemorals.weather.WeatherFetcher.java

License:Open Source License

/**
 * Fetch weather report using parameters set in the builder. </p>
 *
 * Returns a {@link FetchResult} that either contains a
 * {@link WeatherReport} or an {@link ErrorReport}.
 *
 * @return FetchResult containing weather data, or an error
 * @throws IOException if there are network problems
 *//*  w w w.  j  a  va2s. c  o m*/
public FetchResult fetch() throws IOException {
    // Check for required parameters
    if (apiKey == null) {
        throw new NullPointerException("API key not set");
    }

    if (location == null) {
        throw new NullPointerException("Location not set");
    }

    Map<String, String> param = new HashMap<>();

    param.put("q", location);
    param.put("extra", "utcDateTime");
    param.put("num_of_days", Integer.toString(num_of_days));
    param.put("tp", Integer.toString(timePeriod));
    param.put("format", "xml");
    param.put("showlocaltime", "yes");
    param.put("includelocation", "yes");

    if (date != null) {
        param.put("date", DateTimeFormat.forPattern("yyyy-MM-dd").print(date));
    }

    if (language != null) {
        param.put("lang", language);
    }

    if (!forecast) {
        param.put("fx", "no");
    }

    if (!current) {
        param.put("cc", "no");
    }

    // For logging, build the request with a hidden api key
    param.put("key", "HIDDEN");
    String loggableTarget = Util.assembleURL(WeatherFetcher.ENDPOINT, Util.flattenMap(param));

    // For live use, build the request with the real api.
    param.put("key", apiKey);
    URL target = new URL(Util.assembleURL(WeatherFetcher.ENDPOINT, Util.flattenMap(param)));

    FetchResult.Builder resultBuilder = new FetchResult.Builder();

    log.debug("Fetching URL {}", loggableTarget);
    HttpURLConnection conn = (HttpURLConnection) target.openConnection();

    try {
        conn.connect();
        int status = conn.getResponseCode();
        log.debug("Response {}", status);

        resultBuilder.setRequestsPerSecond(Util.getIntFromHeader(conn, "x-apiaxleproxy-qps-left"));
        resultBuilder.setRequestsPerDay(Util.getIntFromHeader(conn, "x-apiaxleproxy-qpd-left"));

        if (status == 200) {

            Report report = new WeatherParser().parse(conn.getInputStream());
            if (report instanceof WeatherReport) {
                resultBuilder.setWeather((WeatherReport) report);
            } else {
                resultBuilder.setError((ErrorReport) report);
            }

        } else {
            ErrorReport error = new ErrorReport("Donwload Failure", conn.getResponseMessage());
            resultBuilder.setError(error);
        }

    } catch (XMLStreamException ex) {
        resultBuilder.setError(new ErrorReport(ex));
    }

    return resultBuilder.build();
}

From source file:com.moosemorals.weather.xml.WeatherParser.java

License:Open Source License

private Current readCurrent(XMLStreamReader parser, WeatherReport.Builder reportBuilder)
        throws XMLStreamException, IOException {

    parser.require(XMLStreamReader.START_ELEMENT, NAMESPACE, "current_condition");

    DateTimeFormatter fmt = DateTimeFormat.forPattern("hh:mm aa").withZoneUTC();
    Current.Builder builder = new Current.Builder();

    while (parser.next() != XMLStreamReader.END_ELEMENT) {
        if (parser.getEventType() != XMLStreamReader.START_ELEMENT) {
            continue;
        }/*from w ww  .j  ava  2 s  .co m*/

        switch (parser.getLocalName()) {
        case "observation_time":
            builder.setObservationTime(fmt.parseLocalTime(readTag(parser, "observation_time")));
            break;
        case "temp_C":
            builder.setTempC(readIntTag(parser, "temp_C"));
            break;
        case "temp_F":
            builder.setTempF(readIntTag(parser, "temp_F"));
            break;
        case "weatherCode":
            builder.setWeatherCode(readIntTag(parser, "weatherCode"));
            break;
        case "weatherIconUrl":
            builder.setWeatherIconUrl(readTag(parser, "weatherIconUrl").trim());
            break;
        case "weatherDesc":
            builder.setWeatherDesc(readTag(parser, "weatherDesc").trim());
            break;
        case "windspeedMiles":
            builder.setWindspeedMiles(readIntTag(parser, "windspeedMiles"));
            break;
        case "windspeedKmph":
            builder.setWindspeedKmph(readIntTag(parser, "windspeedKmph"));
            break;
        case "winddirDegree":
            builder.setWinddirDegree(readIntTag(parser, "winddirDegree"));
            break;
        case "winddir16Point":
            builder.setWinddir16Point(readTag(parser, "winddir16Point"));
            break;
        case "precipMM":
            builder.setPrecipMM(readFloatTag(parser, "precipMM"));
            break;
        case "humidity":
            builder.setHumidity(readIntTag(parser, "humidity"));
            break;
        case "visibility":
            builder.setVisibility(readIntTag(parser, "visibility"));
            break;
        case "pressure":
            builder.setPressure(readIntTag(parser, "pressure"));
            break;
        case "cloudcover":
            builder.setCloudcover(readIntTag(parser, "cloudcover"));
            break;
        case "FeelsLikeC":
            builder.setFeelsLikeC(readIntTag(parser, "FeelsLikeC"));
            break;
        case "FeelsLikeF":
            builder.setFeelsLikeF(readIntTag(parser, "FeelsLikeF"));
            break;
        default:
            // Cope with the crazy way that languages are handled.
            if (parser.getLocalName().startsWith(LANG_TAG)) {
                builder.setWeatherDesc(readTag(parser, parser.getLocalName()).trim());

                reportBuilder.setLanguage(parser.getLocalName().substring(LANG_TAG.length()));

                break;
            }
            log.warn("Current: Skiping unexpected tag {}", parser.getLocalName());
            skipTag(parser);
            break;
        }
    }
    return builder.build();

}

From source file:com.moosemorals.weather.xml.WeatherParser.java

License:Open Source License

private DailyForecast readForecast(XMLStreamReader parser, WeatherReport.Builder reportBuilder, DateTime when)
        throws XMLStreamException, IOException {
    parser.require(XMLStreamReader.START_ELEMENT, NAMESPACE, "weather");

    DailyForecast.Builder builder = new DailyForecast.Builder();

    DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM-dd").withZone(when.getZone());

    while (parser.next() != XMLStreamReader.END_ELEMENT) {
        if (parser.getEventType() != XMLStreamReader.START_ELEMENT) {
            continue;
        }/*from  w  w  w .j a v  a2 s  .c o  m*/

        switch (parser.getLocalName()) {
        case "date":
            builder.setDate(fmt.parseDateTime(readTag(parser, "date")));
            break;
        case "astronomy":
            builder.setAstronomy(readAstronmy(parser, when));
            break;
        case "maxtempC":
            builder.setMaxTempC(readIntTag(parser, "maxtempC"));
            break;
        case "maxtempF":
            builder.setMaxTempF(readIntTag(parser, "maxtempF"));
            break;
        case "mintempC":
            builder.setMinTempC(readIntTag(parser, "mintempC"));
            break;
        case "mintempF":
            builder.setMinTempF(readIntTag(parser, "mintempF"));
            break;
        case "uvIndex":
            builder.setUvIndex(readIntTag(parser, "uvIndex"));
            break;
        case "hourly":
            reportBuilder.addHourlyForecast(readHour(parser));
            break;
        default:
            log.warn("Forecast: Skiping unexpected tag {}", parser.getLocalName());
            skipTag(parser);
            break;
        }
    }

    return builder.build();
}

From source file:com.moosemorals.weather.xml.WeatherParser.java

License:Open Source License

private Astronomy readAstronmy(XMLStreamReader parser, DateTime when) throws XMLStreamException, IOException {
    parser.require(XMLStreamReader.START_ELEMENT, NAMESPACE, "astronomy");

    Astronomy.Builder builder = new Astronomy.Builder();

    DateTimeFormatter fmt = DateTimeFormat.forPattern("hh:mm aa");

    while (parser.next() != XMLStreamReader.END_ELEMENT) {
        if (parser.getEventType() != XMLStreamReader.START_ELEMENT) {
            continue;
        }/*from   w w  w.  j  a v  a2s. c  om*/

        String raw;
        LocalTime time;
        switch (parser.getLocalName()) {
        case "sunrise":
            raw = readTag(parser, "sunrise");
            if (!raw.equals("No sunrise")) {
                time = fmt.parseLocalTime(raw);
                builder.setSunrise(
                        when.withHourOfDay(time.getHourOfDay()).withMinuteOfHour(time.getMinuteOfHour()));
            } else {
                builder.setSunrise(null);
            }
            break;
        case "sunset":
            raw = readTag(parser, "sunset");
            if (!raw.equals("No sunset")) {
                time = fmt.parseLocalTime(raw);
                builder.setSunset(
                        when.withHourOfDay(time.getHourOfDay()).withMinuteOfHour(time.getMinuteOfHour()));
            } else {
                builder.setSunset(null);
            }
            break;
        case "moonrise":
            raw = readTag(parser, "moonrise");
            if (!raw.equals("No moonrise")) {
                time = fmt.parseLocalTime(raw);
                builder.setMoonrise(
                        when.withHourOfDay(time.getHourOfDay()).withMinuteOfHour(time.getMinuteOfHour()));
            } else {
                builder.setMoonrise(null);
            }
            break;
        case "moonset":
            raw = readTag(parser, "moonset");
            if (!raw.equals("No moonset")) {
                time = fmt.parseLocalTime(raw);
                builder.setMoonset(
                        when.withHourOfDay(time.getHourOfDay()).withMinuteOfHour(time.getMinuteOfHour()));
            } else {
                builder.setMoonset(null);
            }
            break;
        default:
            log.warn("Astro: Skiping unexpected tag {}", parser.getLocalName());
            skipTag(parser);
            break;
        }
    }

    return builder.build();
}

From source file:com.moosemorals.weather.xml.WeatherParser.java

License:Open Source License

private HourlyForecast readHour(XMLStreamReader parser) throws XMLStreamException, IOException {
    parser.require(XMLStreamReader.START_ELEMENT, NAMESPACE, "hourly");

    HourlyForecast.Builder builder = new HourlyForecast.Builder();

    LocalTime utcTime = null;/*from w  ww  .j  ava 2  s  .  co  m*/
    DateTime utcDate = null;

    while (parser.next() != XMLStreamReader.END_ELEMENT) {
        if (parser.getEventType() != XMLStreamReader.START_ELEMENT) {
            continue;
        }

        switch (parser.getLocalName()) {
        case "time":
            skipTag(parser);
            break;
        case "UTCdate":
            utcDate = DateTimeFormat.forPattern("yyyy-MM-dd").withZoneUTC()
                    .parseDateTime(readTag(parser, "UTCdate"));
            break;
        case "UTCtime":
            utcTime = readTime(readTag(parser, "UTCtime"));
            break;
        case "tempC":
            builder.setTempC(readIntTag(parser, "tempC"));
            break;
        case "tempF":
            builder.setTempF(readIntTag(parser, "tempF"));
            break;
        case "windspeedMiles":
            builder.setWindspeedMiles(readIntTag(parser, "windspeedMiles"));
            break;
        case "windspeedKmph":
            builder.setWindspeedKPH(readIntTag(parser, "windspeedKmph"));
            break;
        case "winddirDegree":
            builder.setWinddirDegree(readIntTag(parser, "winddirDegree"));
            break;
        case "winddir16Point":
            builder.setWinddir16Point(readTag(parser, "winddir16Point"));
            break;
        case "weatherCode":
            builder.setWeatherCode(readIntTag(parser, "weatherCode"));
            break;
        case "weatherIconUrl":
            builder.setWeatherIconUrl(readTag(parser, "weatherIconUrl").trim());
            break;
        case "weatherDesc":
            builder.setWeatherDesc(readTag(parser, "weatherDesc").trim());
            break;
        case "precipMM":
            builder.setPrecipMM(readFloatTag(parser, "precipMM"));
            break;
        case "humidity":
            builder.setHumidity(readIntTag(parser, "humidity"));
            break;
        case "visibility":
            builder.setVisibility(readIntTag(parser, "visibility"));
            break;
        case "pressure":
            builder.setPressureMb(readIntTag(parser, "pressure"));
            break;
        case "cloudcover":
            builder.setCloudcover(readIntTag(parser, "cloudcover"));
            break;
        case "HeatIndexC":
            builder.setHeatIndexC(readIntTag(parser, "HeatIndexC"));
            break;
        case "HeatIndexF":
            builder.setHeatIndexF(readIntTag(parser, "HeatIndexF"));
            break;
        case "DewPointC":
            builder.setDewPointC(readIntTag(parser, "DewPointC"));
            break;
        case "DewPointF":
            builder.setDewPointF(readIntTag(parser, "DewPointF"));
            break;
        case "WindChillC":
            builder.setWindChillC(readIntTag(parser, "WindChillC"));
            break;
        case "WindChillF":
            builder.setWindChillF(readIntTag(parser, "WindChillF"));
            break;
        case "WindGustMiles":
            builder.setWindGustMiles(readIntTag(parser, "WindGustMiles"));
            break;
        case "WindGustKmph":
            builder.setWindGustKmph(readIntTag(parser, "WindGustKmph"));
            break;
        case "FeelsLikeC":
            builder.setFeelsLikeC(readIntTag(parser, "FeelsLikeC"));
            break;
        case "FeelsLikeF":
            builder.setFeelsLikeF(readIntTag(parser, "FeelsLikeF"));
            break;
        case "chanceofrain":
            builder.setChanceOfRain(readIntTag(parser, "chanceofrain"));
            break;
        case "chanceofwindy":
            builder.setChanceOfWindy(readIntTag(parser, "chanceofwindy"));
            break;
        case "chanceofovercast":
            builder.setChanceOfOvercast(readIntTag(parser, "chanceofovercast"));
            break;
        case "chanceofremdry":
            builder.setChanceOfRemdry(readIntTag(parser, "chanceofremdry"));
            break;
        case "chanceofhightemp":
            builder.setChanceOfHightemp(readIntTag(parser, "chanceofhightemp"));
            break;
        case "chanceofsnow":
            builder.setChanceofSnow(readIntTag(parser, "chanceofsnow"));
            break;
        case "chanceofsunshine":
            builder.setChanceOfSunny(readIntTag(parser, "chanceofsunshine"));
            break;
        case "chanceoffog":
            builder.setChanceOfFog(readIntTag(parser, "chanceoffog"));
            break;
        case "chanceoffrost":
            builder.setChanceOfFrost(readIntTag(parser, "chanceoffrost"));
            break;
        case "chanceofthunder":
            builder.setChanceOfThunder(readIntTag(parser, "chanceofthunder"));
            break;
        default:
            // Cope with the crazy way that languages are handled.
            if (parser.getLocalName().startsWith(LANG_TAG)) {
                builder.setWeatherDesc(readTag(parser, parser.getLocalName()).trim());
                break;
            }
            log.warn("Hour: Skiping unexpected tag {}", parser.getLocalName());
            skipTag(parser);
            break;
        }
    }

    if (utcDate != null && utcTime != null) {
        DateTime time = utcDate.withHourOfDay(utcTime.getHourOfDay())
                .withMinuteOfHour(utcTime.getMinuteOfHour());
        builder.setTime(time);
    } else {
        builder.setTime(null);
    }

    return builder.build();
}

From source file:com.moosemorals.weather.xml.WeatherParser.java

License:Open Source License

protected DateTime readTimeZone(XMLStreamReader parser) throws XMLStreamException, IOException {
    parser.require(XMLStreamReader.START_ELEMENT, NAMESPACE, "time_zone");

    String rawDate = null;/*from w w w  . ja  v  a  2  s.c  o  m*/
    float utcOffset = 0.0f;

    while (parser.next() != XMLStreamReader.END_ELEMENT) {
        if (parser.getEventType() != XMLStreamReader.START_ELEMENT) {
            continue;
        }

        String raw;
        switch (parser.getLocalName()) {
        case "localtime":
            rawDate = readTag(parser, "localtime");
            break;
        case "utcOffset":
            utcOffset = readFloatTag(parser, "utcOffset");
            break;
        }
    }

    int hoursOffset = (int) utcOffset;
    int minutesOffset = (int) ((utcOffset - hoursOffset) * 60.0);

    DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm")
            .withZone(DateTimeZone.forOffsetHoursMinutes(hoursOffset, minutesOffset));

    return fmt.parseDateTime(rawDate);
}

From source file:com.moss.maven.util.MavenPomPropertiesDateFormatter.java

License:Open Source License

public DateTime parseDateTime(String mavenFormattedDateAndTime) {

    // THE JODA PARSER DOESN'T HANDLE TIMEZONES WELL, SO WE'RE PULLING THE ZONE OUT AND PARSING IT SEPARATELY
    int length = mavenFormattedDateAndTime.length();
    String timezoneText = mavenFormattedDateAndTime.substring(length - 8, length - 5).trim();
    String yearText = mavenFormattedDateAndTime.substring(length - 4).trim();
    String jodaParseableText = mavenFormattedDateAndTime.substring(0, length - 8).trim() + " " + yearText;

    // PARSE THE ZONE
    DateTimeZone timeZone;// www .ja v  a  2s. co  m
    if ("EDT".equals(timezoneText))
        timeZone = DateTimeZone.forID("America/New_York");
    else
        timeZone = DateTimeZone.forID(timezoneText);

    // PARSE THE STRING WITHOUT THE ZONE INFO
    DateTimeFormatter fmt = DateTimeFormat.forPattern("EEE MMM dd HH:mm:ss YYYY");
    DateTime dateTime = fmt.parseDateTime(jodaParseableText);

    // ADD THE ZONE BACK
    dateTime = new DateTime(dateTime.getMillis(), timeZone);

    return dateTime;
}