Skip to content Skip to sidebar Skip to footer

How To Get Reverse Time In Android From Us Time

package com.example.currenttime; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.TimeZone; public class Functions {

Solution 1:

Update: This should work, just replace this within your utility class, you just have to pass the time and the serverTimeZone.

publicstatic String setLastSeenTime1(String time, TimeZone serverTimeZone)throws  ParseException {

   SimpleDateFormatsdf=newSimpleDateFormat("MM/dd/yyyy hh:mm:ss a");
   sdf.setTimeZone(serverTimeZone);

   SimpleDateFormatsdf2=newSimpleDateFormat("MM/dd/yyyy hh:mm:ss a");
   sdf.setTimeZone(TimeZone.getDefault());

   return sdf2.format(sdf.parse(time));

}

Solution 2:

in converTimeStringINToMillis1 use like this

Datedate=newDate();
     DateFormat df =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

     // Use UTC time zone to format the datein
     df.setTimeZone(TimeZone.getTimeZone("UTC"));

     System.out.println("Date and time in UTC: " + df.format(date));

Solution 3:

Joda-Time

Rather than roll-your-own, just use the Joda-Time library. Joda-Time works in Android.

The example code below uses Joda-Time 2.4.

Joda-Time uses the ISO 8601 standard string formats as defaults for both parsing and generating string output. Seen here in the DateTime, Interval, and Period strings.

Parse the input string. Note how we specify a time zone and a Locale (to parse the "AM" value in English).

Stringinput="09/10/2014 8:41:26 AM";
DateTimeFormatterformatterInput= DateTimeFormat.forPattern( "MM/dd/yyyy hh:mm:ss a" ).withZoneUTC().withLocale( Locale.ENGLISH );
DateTimethen= formatterInput.parseDateTime( input );

Get the current moment. Use that moment to build an Interval from then to now.

DateTime now = DateTime.now( DateTimeZone.UTC );
Intervalinterval=newInterval( then , now );

Convert interval to a Period, a span of time defined as a number of days, hours, and such.

Periodperiod= interval.toPeriod();

Generate a textual representation of the Period. This example accesses a default period formatter. Instead, you may build your own custom formatter via the PeriodFormatterBuilder class.

PeriodFormatterformatterOutput= PeriodFormat.wordBased( Locale.US );
Stringoutput= formatterOutput.print( period );

For fun, show a different language. Arbitrarily choosing Québec style.

String outputQuébécois = PeriodFormat.wordBased( Locale.CANADA_FRENCH ).print( period );

Dump to console.

System.out.println( "input: " + input );
System.out.println( "then: " + then );
System.out.println( "now: " + now );
System.out.println( "interval: " + interval );
System.out.println( "period: " + period );
System.out.println( "output: " + output );
System.out.println( "outputQuébécois: " + outputQuébécois );

When run.

input: 09/10/2014 8:41:26 AM
then: 2014-09-10T08:41:26.000Z
now: 2014-10-09T20:44:23.470Z
interval: 2014-09-10T08:41:26.000Z/2014-10-09T20:44:23.470Z
period: P4W1DT12H2M57.470S
output: 4 weeks, 1 day, 12 hours, 2 minutes, 57 seconds and 470 milliseconds
outputQuébécois: 4 semaines, 1 jour, 12 heures, 2 minutes, 57 secondes et 470 millisecondes

Post a Comment for "How To Get Reverse Time In Android From Us Time"