List of usage examples for org.joda.time.format DateTimeFormat forPattern
public static DateTimeFormatter forPattern(String pattern)
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; }