2017-03-02 2 views
-4

Ich habe eine Datumszeichenkette in diesem Format '20161201'.
Wie wird dies zu einer Datetime-Zeichenfolge zu july 2016?Wie 6 Monate in Android herunterzählen?

Ich möchte 6 Monate vor diesem Datetime String zeigen.
Ist es möglich?

Auch wie konvertiere ich nur '20161201' zu Dec 2016?

Antwort

0

Für convert '20161201' bis 'Dezember 2016':

//Convert string to date 
    String dateString = "20161201"; 
    SimpleDateFormat parseDateFormat = new SimpleDateFormat("yyyyMMdd"); 
    Date convertedDate = new Date(); 
    try { 
     convertedDate = parseDateFormat.parse(dateString); 
    } catch (ParseException e) { 
     e.printStackTrace(); 
    } 

    //Convert date to string 
    SimpleDateFormat outputDateFormat = new SimpleDateFormat("MMM yyyy"); 
    String result = outputDateFormat.format(convertedDate); 

    //Print the result 
    System.out.println(result); 

'6 Monate In den Millisekunden ist 15778476000. Sie können das Datum nach 6 Monaten in Millisekunden erhalten, indem

long resultdate = convertedDate.getTime() - 15778476000L; 
mit

und dann

Calendar calendar = Calendar.getInstance(); 
calendar.setTimeInMillis(resultdate); 
String result = outputDateFormat.format(calendar.getTime()); 

das Ergebnis erhalten

https://developer.android.com/reference/java/text/SimpleDateFormat.html https://developer.android.com/reference/java/util/Date.html https://developer.android.com/reference/java/util/Calendar.html#setTimeInMillis(long)

+0

OP möchte 6 Monate vom Eingabedatum subtrahieren –

+0

Sie können Ihre Monate in Millisekunden ändern, dann versuchen Sie meine Lösung – Scit

+0

6 Monate bis Millisekunde ist 15778476000 – Scit

0

Sie das Format ändern Sie den folgenden Code verwenden,

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd", Locale.getDefault()); 
    SimpleDateFormat expectedSDF = new SimpleDateFormat("MMMM yyyy", Locale.getDefault()); 
    Date date = simpleDateFormat.parse(dateString); 
    String newFormatString = expectedSDF.format(date); 

Und für den Countdown, verwenden CountDownTimer

https://developer.android.com/reference/android/os/CountDownTimer.html

+0

Es ist kein Countdown-Timer. Es ist 6 Monate vor dem eingegebenen Datum –

0

wie diese Datetime-Zeichenfolge zu machen Juli 2016
I 6 Monate vor der Datetime-Zeichenfolge

Juli ist 5 Monate zeigen wollen, zu sein ...

Hier ist die 6 Monate Antwort

java.util.Calendar c = java.util.Calendar.getInstance(); 
c.setTime(new SimpleDateFormat("yyyyMMdd").parse("20161201")); 
c.set(Calendar.MONTH, c.get(Calendar.MONTH)-6); 
String output = new SimpleDateFormat("MMMM yyyy").format(c.getTime())); 
// June 2016 
+0

Danke, bro..it war gut –

Verwandte Themen