it-swarm.com.de

Holen Sie sich aktuelle Uhrzeit und Datum auf Android

Wie kann ich die aktuelle Uhrzeit und das aktuelle Datum in einer Android-App abrufen?

960
M7M

Du könntest benutzen:

import Java.util.Calendar

Date currentTime = Calendar.getInstance().getTime();

Der Kalender enthält viele Konstanten für alles, was Sie brauchen.

Bearbeiten:
Check Kalenderklassendokumentation

1136
user658042

Sie können (aber nicht mehr - siehe unten!) Android.text.format.Time verwenden:

Time now = new Time();
now.setToNow();

Aus der oben verlinkten Referenz:

Die Zeitklasse ist ein schnellerer Ersatz für den Java.util.Calendar und Java.util.GregorianCalendar-Klassen . Eine Instanz der Zeitklasse steht für einen Zeitpunkt, angegeben mit zweiter Präzision.


NOTE 1: Es ist einige Jahre vergangen, seit ich diese Antwort geschrieben habe, Es geht um eine alte, Android-spezifische und jetzt veraltete Klasse . Google jetzt sagt dass "[t] seine Klasse hat eine Reihe von Problemen und es wird empfohlen, GregorianCalendar stattdessen zu verwenden".


NOTE 2: Auch wenn die Time-Klasse über eine toMillis(ignoreDaylightSavings)-Methode verfügt, ist dies lediglich eine Bequemlichkeit, um Methoden zu übergeben, die Zeit in Millisekunden erwarten. Der Zeitwert ist nur auf eine Sekunde genau; Der Millisekundenanteil ist immer 000. Wenn Sie in einer Schleife sind

Time time = new Time();   time.setToNow();
Log.d("TIME TEST", Long.toString(time.toMillis(false)));
... do something that takes more than one millisecond, but less than one second ...

Die sich ergebende Sequenz wiederholt denselben Wert, beispielsweise 1410543204000, bis die nächste Sekunde beginnt. Zu diesem Zeitpunkt beginnt 1410543205000 mit der Wiederholung.

480

Wenn Sie Datum und Uhrzeit in einem bestimmten Muster erhalten möchten, können Sie Folgendes verwenden:

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_HHmmss");
String currentDateandTime = sdf.format(new Date());
310
Miciurash

Für diejenigen, die lieber ein benutzerdefiniertes Format bevorzugen, können Sie Folgendes verwenden:

DateFormat df = new SimpleDateFormat("EEE, d MMM yyyy, HH:mm");
String date = df.format(Calendar.getInstance().getTime());

Während Sie DateFormat-Muster haben können, wie:

"yyyy.MM.dd G 'at' HH:mm:ss z" ---- 2001.07.04 AD at 12:08:56 PDT
"hh 'o''clock' a, zzzz" ----------- 12 o'clock PM, Pacific Daylight Time
"EEE, d MMM yyyy HH:mm:ss Z"------- Wed, 4 Jul 2001 12:08:56 -0700
"yyyy-MM-dd'T'HH:mm:ss.SSSZ"------- 2001-07-04T12:08:56.235-0700
"yyMMddHHmmssZ"-------------------- 010704120856-0700
"K:mm a, z" ----------------------- 0:08 PM, PDT
"h:mm a" -------------------------- 12:08 PM
"EEE, MMM d, ''yy" ---------------- Wed, Jul 4, '01
197
ANemati

Eigentlich ist es sicherer, die auf dem Gerät eingestellte aktuelle Zeitzone mit Time.getCurrentTimezone() einzustellen. Andernfalls erhalten Sie die aktuelle Uhrzeit in UTC.

Time today = new Time(Time.getCurrentTimezone());
today.setToNow();

Sie können dann alle gewünschten Datumsfelder abrufen, beispielsweise:

textViewDay.setText(today.monthDay + "");             // Day of the month (1-31)
textViewMonth.setText(today.month + "");              // Month (0-11)
textViewYear.setText(today.year + "");                // Year 
textViewTime.setText(today.format("%k:%M:%S"));  // Current time

Siehe Android.text.format.Time class für alle Details.

UPDATE

Wie viele Leute darauf hinweisen, sagt Google, dass diese Klasse einige Probleme hat und nicht mehr verwendet werden sollte:

Diese Klasse hat eine Reihe von Problemen und es wird empfohlen, dass Stattdessen wird GregorianCalendar verwendet.

Bekannte Probleme:

Aus historischen Gründen bei der Zeitberechnung alle Die Arithmetik findet derzeit unter Verwendung von 32-Bit-Ganzzahlen statt. Dies begrenzt der zuverlässige Zeitbereich ist von 1902 bis 2037 darstellbar. Siehe Wikipedia-Artikel zum Problem des Jahres 2038 für Details. Verlassen Sie sich nicht auf Dieses Verhalten; es kann sich in der Zukunft ändern. Berufung switchTimezone (String) zu einem Datum, das nicht existieren kann, z. B. eine Pinnwand Zeit, die aufgrund einer Umstellung auf die Sommerzeit übersprungen wurde, führt zu einem Datum im Jahr 1969 (d. h. -1 oder 1 Sekunde vor dem 1. Januar 1970 UTC). Viel von der Das Formatieren/Parsing setzt ASCII Text voraus und ist daher nicht geeignet zur Verwendung mit Nicht-ASCII-Skripts.

124
kaneda

Für das aktuelle Datum und die aktuelle Uhrzeit verwenden Sie:

String mydate = Java.text.DateFormat.getDateTimeInstance().format(Calendar.getInstance().getTime());

Welche Ausgänge:

Feb 27, 2012 5:41:23 PM
75
Kirit

Versuchen Sie es auf diese Weise. Alle Formate sind unten angegeben, um das Datums- und Zeitformat zu erhalten.

    Calendar c = Calendar.getInstance();
    SimpleDateFormat dateformat = new SimpleDateFormat("dd-MMM-yyyy hh:mm:ss aa");
    String datetime = dateformat.format(c.getTime());
    System.out.println(datetime);

 first

 second  third

52
Amitsharma

Um die aktuelle Uhrzeit anzuzeigen, können Sie System.currentTimeMillis() verwenden, was in Java Standard ist. Dann können Sie damit ein Datum erstellen

Date currentDate = new Date(System.currentTimeMillis());

Und wie von anderen erwähnt, um eine Zeit zu schaffen

Time currentTime = new Time();
currentTime.setToNow();
47
JosephL

Sie können den Code verwenden:

Calendar c = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String strDate = sdf.format(c.getTime());

Ausgabe:

2014-11-11 00:47:55

Weitere Formatierungsoptionen für SimpleDateFormat erhalten Sie von hier .

35

Einfach, Sie können die Zeit analysieren, um separate Werte für die aktuelle Zeit zu erhalten, wie folgt:

Calendar cal = Calendar.getInstance(); 

  int millisecond = cal.get(Calendar.MILLISECOND);
  int second = cal.get(Calendar.SECOND);
  int minute = cal.get(Calendar.MINUTE);
        //12 hour format
  int hour = cal.get(Calendar.HOUR);
        //24 hour format
  int hourofday = cal.get(Calendar.HOUR_OF_DAY);

Dasselbe gilt für das Datum wie folgt:

Calendar cal = Calendar.getInstance(); 

  int dayofyear = cal.get(Calendar.DAY_OF_YEAR);
  int year = cal.get(Calendar.YEAR);
  int dayofweek = cal.get(Calendar.DAY_OF_WEEK);
  int dayofmonth = cal.get(Calendar.DAY_OF_MONTH);
31
SkateJerrySkate

tl; dr

Instant.now()  // Current moment in UTC.

…oder…

ZonedDateTime.now( ZoneId.of( "America/Montreal" ) )  // In a particular time zone

Einzelheiten

Die anderen Antworten sind zwar korrekt, aber veraltet. Die alten Datum-Zeit-Klassen haben sich als schlecht gestaltet, verwirrend und mühsam erwiesen. 

Java.time

Diese alten Klassen wurden durch das Java.time Framework ersetzt. 

Diese neuen Klassen sind vom äußerst erfolgreichen Joda-Time -Projekt inspiriert, das durch JSR 310 definiert und durch das ThreeTen-Extra -Projekt erweitert wird.

Siehe Oracle-Tutorial .

Instant

Ein Instant ist ein Moment auf der Zeitleiste in UTC mit einer Auflösung von bis zu Nanosekunden .

 Instant instant = Instant.now(); // Current moment in UTC.

Zeitzone

Wenden Sie eine Zeitzone ( ZoneId ) an, um ein ZonedDateTime zu erhalten. Wenn Sie die Zeitzone weglassen, wird die aktuelle Standardzeitzone der JVM implizit angewendet. Besser die gewünschte/erwartete Zeitzone explizit angeben.

Verwenden Sie richtige Zeitzonennamen im Format continent/region, z. B. America/Montreal , Europe/Brussels oder Asia/Kolkata . Verwenden Sie niemals die Abkürzungen für 3-4 Buchstaben wie EST oder IST, da sie weder standardisiert noch eindeutig sind.

ZoneId zoneId = ZoneId.of( "America/Montreal" ); // Or "Asia/Kolkata", "Europe/Paris", and so on.
ZonedDateTime zdt = ZonedDateTime.ofInstant( instant , zoneId );

Strings generieren

Sie können auf einfache Weise eine String als Textdarstellung des Datums/Zeitwerts generieren. Sie können ein Standardformat, ein eigenes benutzerdefiniertes Format oder ein automatisch lokalisiertes Format wählen.

ISO 8601

Sie können die toString-Methoden aufrufen, um Text mit dem üblichen und sinnvollen ISO 8601 -Standard zu formatieren. 

String output = instant.toString();

2016-03-23T03: 09: 01.613Z

Beachten Sie, dass für ZonedDateTime die Methode toString den Standard ISO 8601 erweitert, indem der Name der Zeitzone in eckigen Klammern angehängt wird. Äußerst nützliche und wichtige Informationen, aber kein Standard.

2016-03-22T20: 09: 01.613-08: 00 [America/Los_Angeles]

Benutzerdefiniertes Format

Oder legen Sie mit der Klasse DateTimeFormatter ein eigenes Formatierungsmuster fest.

DateTimeFormatter formatter = DateTimeFormatter.ofPattern( "dd/MM/yyyy hh:mm a" );

Geben Sie ein Locale für eine menschliche Sprache (Englisch, Französisch usw.) an, das zur Übersetzung des Tages-/Monatsnamens sowie zur Definition kultureller Normen wie der Reihenfolge von Jahr und verwendet werden soll Monat und Datum. Beachten Sie, dass Locale nichts mit der Zeitzone zu tun hat. 

formatter = formatter.withLocale( Locale.US ); // Or Locale.CANADA_FRENCH or such.
String output = zdt.format( formatter );

Lokalisieren

Besser noch, lassen Sie Java.time die Arbeit der Lokalisierung automatisch erledigen. 

DateTimeFormatter formatter = DateTimeFormatter.ofLocalizedDateTime( FormatStyle.MEDIUM );
String output = zdt.format( formatter.withLocale( Locale.US ) );  // Or Locale.CANADA_FRENCH and so on.

Über Java.time

Das Framework Java.time ist in Java 8 und höher integriert. Diese Klassen ersetzen die störenden alten Legacy Datum-Uhrzeit-Klassen, wie Java.util.Date , Calendar , & SimpleDateFormat .

Das Projekt Joda-Time , das sich jetzt im Wartungsmodus befindet, empfiehlt die Migration zu den Klassen Java.time .

Weitere Informationen finden Sie unter Oracle Tutorial . In Stack Overflow finden Sie viele Beispiele und Erklärungen. Die Spezifikation lautet JSR 310 .

Sie können Java.time - Objekte direkt mit Ihrer Datenbank austauschen. Verwenden Sie einen JDBC-Treiber , der mit JDBC 4.2 oder höher kompatibel ist. Keine Notwendigkeit für Zeichenfolgen, keine Notwendigkeit für Java.sql.*-Klassen.

Wo erhalten Sie die Java.time-Klassen? 

Das Projekt ThreeTen-Extra erweitert Java.time um zusätzliche Klassen. Dieses Projekt ist ein Testfeld für mögliche zukünftige Erweiterungen von Java.time. Hier finden Sie nützliche Klassen wie Interval , YearWeek , YearQuarter und mehr .

29
Basil Bourque

Es gibt mehrere Optionen, da Android hauptsächlich Java ist. Wenn Sie es jedoch in eine Textansicht schreiben möchten, kann der folgende Code verwendet werden:

String currentDateTimeString = DateFormat.getDateInstance().format(new Date());

// textView is the TextView view that should display it
textView.setText(currentDateTimeString);
24
eLobato
SimpleDateFormat databaseDateTimeFormate = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
SimpleDateFormat databaseDateFormate = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdf1 = new SimpleDateFormat("dd.MM.yy");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy.MM.dd G 'at' hh:mm:ss z");
SimpleDateFormat sdf3 = new SimpleDateFormat("EEE, MMM d, ''yy");
SimpleDateFormat sdf4 = new SimpleDateFormat("h:mm a");
SimpleDateFormat sdf5 = new SimpleDateFormat("h:mm");
SimpleDateFormat sdf6 = new SimpleDateFormat("H:mm:ss:SSS");
SimpleDateFormat sdf7 = new SimpleDateFormat("K:mm a,z");
SimpleDateFormat sdf8 = new SimpleDateFormat("yyyy.MMMMM.dd GGG hh:mm aaa");


String currentDateandTime = databaseDateTimeFormate.format(new Date());     //2009-06-30 08:29:36
String currentDateandTime = databaseDateFormate.format(new Date());     //2009-06-30
String currentDateandTime = sdf1.format(new Date());     //30.06.09
String currentDateandTime = sdf2.format(new Date());     //2009.06.30 AD at 08:29:36 PDT
String currentDateandTime = sdf3.format(new Date());     //Tue, Jun 30, '09
String currentDateandTime = sdf4.format(new Date());     //8:29 PM
String currentDateandTime = sdf5.format(new Date());     //8:29
String currentDateandTime = sdf6.format(new Date());     //8:28:36:249
String currentDateandTime = sdf7.format(new Date());     //8:29 AM,PDT
String currentDateandTime = sdf8.format(new Date());     //2009.June.30 AD 08:29 AM

Datumsformat Muster

G   Era designator (before christ, after christ)
y   Year (e.g. 12 or 2012). Use either yy or yyyy.
M   Month in year. Number of M's determine length of format (e.g. MM, MMM or MMMMM)
d   Day in month. Number of d's determine length of format (e.g. d or dd)
h   Hour of day, 1-12 (AM / PM) (normally hh)
H   Hour of day, 0-23 (normally HH)
m   Minute in hour, 0-59 (normally mm)
s   Second in minute, 0-59 (normally ss)
S   Millisecond in second, 0-999 (normally SSS)
E   Day in week (e.g Monday, Tuesday etc.)
D   Day in year (1-366)
F   Day of week in month (e.g. 1st Thursday of December)
w   Week in year (1-53)
W   Week in month (0-5)
a   AM / PM marker
k   Hour in day (1-24, unlike HH's 0-23)
K   Hour in day, AM / PM (0-11)
z   Time Zone
22
Vignesh KM
final Calendar c = Calendar.getInstance();
    int mYear = c.get(Calendar.YEAR);
    int mMonth = c.get(Calendar.MONTH);
    int mDay = c.get(Calendar.DAY_OF_MONTH);

textView.setText(""+mDay+"-"+mMonth+"-"+mYear);
16
Alex Muriithi

Dies ist eine Methode, die zum Abrufen von Datum und Uhrzeit nützlich ist:

private String getDate(){
    DateFormat dfDate = new SimpleDateFormat("yyyy/MM/dd");
    String date=dfDate.format(Calendar.getInstance().getTime());
    DateFormat dfTime = new SimpleDateFormat("HH:mm");
    String time = dfTime.format(Calendar.getInstance().getTime());
    return date + " " + time;
}

Sie können diese Methode aufrufen und die aktuellen Datums- und Uhrzeitwerte abrufen:

2017/01//09 19:23
13
Elenasys
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
    Calendar cal = Calendar.getInstance();
    System.out.println("time => " + dateFormat.format(cal.getTime()));

    String time_str = dateFormat.format(cal.getTime());

    String[] s = time_str.split(" ");

    for (int i = 0; i < s.length; i++) {
         System.out.println("date  => " + s[i]);
    }

    int year_sys = Integer.parseInt(s[0].split("/")[0]);
    int month_sys = Integer.parseInt(s[0].split("/")[1]);
    int day_sys = Integer.parseInt(s[0].split("/")[2]);

    int hour_sys = Integer.parseInt(s[1].split(":")[0]);
    int min_sys = Integer.parseInt(s[1].split(":")[1]);

    System.out.println("year_sys  => " + year_sys);
    System.out.println("month_sys  => " + month_sys);
    System.out.println("day_sys  => " + day_sys);

    System.out.println("hour_sys  => " + hour_sys);
    System.out.println("min_sys  => " + min_sys);
12
duggu
Time time = new Time();
time.setToNow();
System.out.println("time: " + time.hour+":"+time.minute);

Dies gibt Ihnen zum Beispiel 12:32.

Denken Sie daran, Android.text.format.Time zu importieren.

12
Sam Haque

Sie können auch Android.os.SystemClock ..__ verwenden. SystemClock.elapsedRealtime () liefert beispielsweise genauere Zeitangaben, wenn das Telefon im Ruhezustand ist.

11
Quadroid

Für ein benutzerdefiniertes Zeit- und Datumsformat: 

    SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZZZZZ",Locale.ENGLISH);
    String cDateTime=dateFormat.format(new Date());

Die Ausgabe erfolgt wie folgt: 2015-06-18T10: 15: 56-05: 00

9

Wenn Sie ein aktuelles Datum benötigen,

Calendar cc = Calendar.getInstance();
int year=cc.get(Calendar.YEAR);
int month=cc.get(Calendar.MONTH);
int mDay = cc.get(Calendar.DAY_OF_MONTH);
System.out.println("Date", year+":"+month+":"+mDay);

Wenn Sie aktuelle Uhrzeit benötigen,

 int mHour = cc.get(Calendar.HOUR_OF_DAY);
 int mMinute = cc.get(Calendar.MINUTE);
 System.out.println("time_format"+String.format("%02d:%02d", mHour , mMinute ));
9
Time now = new Time();
now.setToNow();

Versuchen Sie, das funktioniert auch für mich.

8
TheMan
Date todayDate = new Date();
todayDate.getDay();
todayDate.getHours();
todayDate.getMinutes();
todayDate.getMonth();
todayDate.getTime();
8

Sie können das Datum erhalten, indem Sie verwenden:

Time t = new Time(Time.getCurrentTimezone());
t.setToNow();
String date = t.format("%Y/%m/%d");

Dadurch erhalten Sie ein Ergebnis in einer Nice-Form, wie in diesem Beispiel: "2014/02/09".

8
Annabelle

Verwenden Sie für das aktuelle Datum und die Uhrzeit im Format

In Java

Calendar c = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String strDate = sdf.format(c.getTime());
Log.d("Date","DATE : " + strDate)

In Kotlin

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    val current = LocalDateTime.now()
    val formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy. HH:mm:ss")
    var myDate: String =  current.format(formatter)
    Log.d("Date","DATE : " + myDate)
} else {
    var date = Date()
    val formatter = SimpleDateFormat("MMM dd yyyy HH:mma")
    val myDate: String = formatter.format(date)
    Log.d("Date","DATE : " + myDate)
}

Date Formater patterns

"yyyy.MM.dd G 'at' HH:mm:ss z" ---- 2001.07.04 AD at 12:08:56 PDT
"hh 'o''clock' a, zzzz" ----------- 12 o'clock PM, Pacific Daylight Time
"EEE, d MMM yyyy HH:mm:ss Z"------- Wed, 4 Jul 2001 12:08:56 -0700
"yyyy-MM-dd'T'HH:mm:ss.SSSZ"------- 2001-07-04T12:08:56.235-0700
"yyMMddHHmmssZ"-------------------- 010704120856-0700
"K:mm a, z" ----------------------- 0:08 PM, PDT
"h:mm a" -------------------------- 12:08 PM
"EEE, MMM d, ''yy" ---------------- Wed, Jul 4, '01
7
Vipul Prajapati

sie können einfach den folgenden Code verwenden:

 DateFormat df = new SimpleDateFormat("HH:mm"); //format time
 String time = df.format(Calendar.getInstance().getTime());

 DateFormat df1=new SimpleDateFormat("yyyy/MM/dd");//foramt date
 String date=df1.format(Calendar.getInstance().getTime());
7
Ali Ziaee

Nun, ich hatte Probleme mit einigen Antworten der API, also verschmelze ich diesen Code.

    Time t = new Time(Time.getCurrentTimezone());
    t.setToNow();
    String date1 = t.format("%Y/%m/%d");

    Date date = new Date(System.currentTimeMillis());
    SimpleDateFormat dateFormat = new SimpleDateFormat("hh:mm aa",
            Locale.ENGLISH);
    String var = dateFormat.format(date);
    String horafecha = var+ " - " + date1;

    tvTime.setText(horafecha);

Ausgabe: 03:25 PM - 2017/10/03

5
Charlie

Die untenstehende Methode gibt das aktuelle Datum und die aktuelle Uhrzeit in String zurück

public static String GetToday(){
    Date presentTime_Date = Calendar.getInstance().getTime();
    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    dateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
    return dateFormat.format(presentTime_Date);
}
4
Danger

Sie sollten die Calender-Klasse gemäß der neuen API verwenden. Datumsklasse ist jetzt veraltet.

Calendar cal = Calendar.getInstance();

String date = ""+cal.get(Calendar.DATE)+"-"+(cal.get(Calendar.MONTH)+1)+"-"+cal.get(Calendar.YEAR);

String time = ""+cal.get(Calendar.HOUR_OF_DAY)+":"+cal.get(Calendar.MINUTE);
4
Akshay Paliwal

Versuche dies

String mytime = (DateFormat.format("dd-MM-yyyy hh:mm:ss", new Java.util.Date()).toString());
4
Abhinaw Kumar

Mit diesem Code können Sie das aktuelle Datum und die Uhrzeit anzeigen.

 Date date = new Date(System.currentTimeMillis());
 SimpleDateFormat dateFormat = new SimpleDateFormat("hh:mm aa",
                         Locale.ENGLISH);
 String var = dateFormat.format(date));
3
Kinjal

Hier sind einige Möglichkeiten, um Datum und Uhrzeit zu erhalten

public static void getCurrentTimeUsingDate() {
    Date date = new Date();
    String strDateFormat = "hh:mm:ss a";
    DateFormat dateFormat = new SimpleDateFormat(strDateFormat);
    String formattedDate= dateFormat.format(date);       
    Toast.makeText(this, formattedDate, Toast.LENGTH_SHORT).show();
}

Zeit mit Kalender

public static void getCurrentTimeUsingCalendar() {
        Calendar cal = Calendar.getInstance();
        Date date=cal.getTime();
        DateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
        String formattedDate=dateFormat.format(date);
        Toast.makeText(this, formattedDate, Toast.LENGTH_SHORT).show();
}

Ortszeit und Datum

public static void getCurrentTime(){
     System.out.println("-----Current time of your time zone-----");
     LocalTime time = LocalTime.now();
    Toast.makeText(this, time, Toast.LENGTH_SHORT).show();
 }

Zone weise Zeit

public static void getCurrentTimeWithTimeZone(){
Toast.makeText(this, "Current time of a different time zone using LocalTime", Toast.LENGTH_SHORT).show();

    ZoneId zoneId = ZoneId.of("America/Los_Angeles");
    LocalTime localTime=LocalTime.now(zoneId);
    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");
    String formattedTime=localTime.format(formatter);

Toast.makeText (diese formatierte Zeit, Toast.LENGTH_SHORT) .show ();

}

Einfache Möglichkeit, aktuelle Uhrzeit und Datum abzurufen  

import Java.util.Calendar

Date currentTime = Calendar.getInstance().getTime();
1
Pradeep Sheoran

Sie können Uhrzeit und Datum getrennt vom Kalender abrufen.

// You can pass time zone and Local to getInstance() as parameter

Calendar calendar = Calendar.getInstance(); 

int currentHour = calendar.get(Calendar.HOUR_OF_DAY);
int currentMinute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
int date = calendar.get(Calendar.DAY_OF_MONTH);
int month = calendar.get(Calendar.MONTH);
int year = calendar.get(Calendar.YEAR);
1
Hasib Akter

versuchen Sie, den folgenden Code zu verwenden:

 Date date = new Date();
 SimpleDateFormat dateFormatWithZone = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'",Locale.getDefault());  
 String currentDate = dateFormatWithZone.format(date);
1
Manikandan K

Im Paket com.google.gson.internal.bind.util befindet sich eine ISO8601Utils-Klasse utils. Wenn Sie also GSON in Ihrer App verwenden, können Sie dies verwenden. 

Es unterstützt Millis und Zeitzonen und ist daher eine ziemlich gute Option.

0
FilipMarusca

Sie können Ihre Ortszeit mit GMT-Zeit von dieser Funktion abrufen

public String getCurrentDate() {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy MMM dd hh:mm a zzz");
    Date date = new Date();
    sdf.setTimeZone(TimeZone.getTimeZone("GMT+6:00"));
    return sdf.format(date);
}
0
pavel
    long totalSeconds = currentTimeMillis / 1000;
    int currentSecond = (int)totalSeconds % 60;

    long totalMinutes = totalSeconds / 60;
    int currentMinute = (int)totalMinutes % 60;

    long totalHours = totalMinutes / 60;
    int currentHour = (int)totalHours % 12;

    TextView tvTime = findViewById(R.id.tvTime);
    tvTime.setText((currentHour + OR - TIME YOU ARE FROM GMT) + ":" + currentMinute + ":" + currentSecond);
0
Bryan Ibrahim

Kotlin

Es gibt verschiedene Möglichkeiten, um aktuelle Datumsangaben in Kotlin zu erhalten.

fun main(args: Array<String>) {
    println(System.currentTimeMillis()) // current millisecond

    val date = Calendar.getInstance().time // current date object
    val date1 = Date(System.currentTimeMillis())

    println(date.toString())
    println(date1.toString())

    val now = Time(System.currentTimeMillis()) // current time object
    println(now.toString())

    val sdf = SimpleDateFormat("yyyy:MM:dd h:mm a", Locale.getDefault())
    println(sdf.format(Date())) // format current date

    println(DateFormat.getDateTimeInstance().format(System.currentTimeMillis())) // using getDateTimeInstance()

    println(LocalDateTime.now().toString()) // Java 8

    println(ZonedDateTime.now().toString()) // Java 8
}
0
Khemraj
String DataString=DateFormat.getDateInstance(DateFormat.SHORT).format(Calendar.getInstance().getTime());

Um das kurze Datum zu erhalten, formatieren Sie den String im lokalisierten Format der Einheit. 

Ich kann nicht verstehen, warum es so viele Antworten gibt, die Datums- und Zeitformate fest codieren, wenn OS/Java die korrekte Lokalisierung von Datum und Uhrzeit liefert? Ist es nicht besser, immer die Formate der Einheit zu verwenden als den Programmierer? 

Es liefert auch das Lesen von Datumsangaben in lokalisierten Formaten:

    DateFormat format = DateFormat.getDateInstance(DateFormat.SHORT);
    Date date=null;
    try {
        date = format.parse(DateString);
    }
    catch(ParseException e) {
    }

Dann ist es Sache des Benutzers, das Format so einzustellen, dass Datum und Uhrzeit angezeigt werden, und nicht Sie? Unabhängig von den Sprachen usw. gibt es in verschiedenen Ländern unterschiedliche Formate mit derselben Sprache. 

0
Jan Bergström