如何在Android中获取当前时间和日期

如何在Android应用程序中获取当前时间和日期?

1714198 次浏览

您可以(但不再应该-见下文!)使用android.text.format.时间

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

从上面链接的参考:

Time类是更快的替代品java.util.日历和java.util.GregorianCalender类。Time类的一个实例代表一个时刻,指定二次精确


注1:我写这个答案已经好几年了,它是关于一个旧的、特定于Android的、现在已弃用的类。谷歌现在"[t]他的类有许多问题,建议使用格里高利日历代替"。


注2:尽管Time类有一个toMillis(ignoreDaylightSavings)方法,但这仅仅是为了方便传递给期望以毫秒为单位的时间的方法。时间值是精确到一秒;毫秒部分总是000。如果在循环中,你这样做

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 ...

结果序列将重复相同的值,例如1410543204000,直到下一秒开始,此时1410543205000将开始重复。

您可以使用:

import java.util.Calendar;import java.util.Date;
Date currentTime = Calendar.getInstance().getTime();

日历中有很多常量可用于您需要的一切。

检查日历类留档

您也可以使用android.os.系统时钟。例如SystemClock.elapsedRealtime()将在手机睡着时为您提供更准确的时间读数。

要更改当前时间,您可以使用System.currentTimeMillis(),这是Java中的标准。然后您可以使用它来创建日期

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

正如其他人所提到的,创造一个时间

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

如果您想以特定模式获取日期和时间,您可以使用以下命令:

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.getDefault());String currentDateandTime = sdf.format(new Date());

或者,

日期

String currentDate = new SimpleDateFormat("dd-MM-yyyy", Locale.getDefault()).format(new Date());

时间:

String currentTime = new SimpleDateFormat("HH:mm:ss", Locale.getDefault()).format(new Date());

实际上,使用Time.getCurrentTimezone()在设备上设置当前时区更安全,否则您将获得UTC的当前时间。

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

然后,您可以获取所需的所有日期字段,例如:

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

有关所有详细信息,请参阅android.text.format.时间类。

更新

正如许多人指出的那样,谷歌表示这个类有许多问题,不应该再使用:

这个类有很多问题,建议使用GregorianCalender代替。

已知问题:

由于历史原因,当执行时间计算时算术目前使用32位整数进行。这限制了从1902年到2037年的可靠时间范围。请参阅维基百科关于2038年问题的文章了解详情。不要依赖这种行为;将来可能会改变。呼叫不存在的日期上的时区(String),例如墙壁由于DST转换而跳过的时间,将导致一个日期1969年(即世界协调时1970年1月1日之前的-1或1秒)格式化/解析假定ASCII文本,因此不适合用于非ASCII脚本。

对于当前日期和时间,请使用:

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

其输出:

Feb 27, 2012 5:41:23 PM
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);

简单。您可以剖析时间以获取当前时间的单独值,如下所示:

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

日期也是如此,如下所示:

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);
Time now = new Time();now.setToNow();

试试这个对我也有效。

用途:

Time time = new Time();time.setToNow();System.out.println("time: " + time.hour + ":" + time.minute);

这会给你,例如,“12:32”。

记住import android.text.format.Time;

    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);
Date todayDate = new Date();todayDate.getDay();todayDate.getHours();todayDate.getMinutes();todayDate.getMonth();todayDate.getTime();

对于那些可能更喜欢自定义格式的人,您可以使用:

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

而您可以拥有DateFormat模式,例如:

"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

您可以使用以下命令获取日期:

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

这会给你一个很好的形式的结果,如本例所示:“2014/02/09”。

您可以使用代码:

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

输出:

2014-11-11 00:47:55

您还可以从这里获得SimpleDateFormat的更多格式设置选项。

您应该根据新的API使用Calender类。现在不建议使用日期类。

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);

试试这段代码。它会显示当前日期和时间。

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

对于自定义的时间和日期格式:

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

输出格式如下:

2015-06-18 T 10:15:56-05:00

尝试以下方法。下面给出了所有格式以获取日期和时间格式。

    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

秒

第三

试试这个

String mytime = (DateFormat.format("dd-MM-yyyy hh:mm:ss", new java.util.Date()).toString());
String DataString = DateFormat.getDateInstance(DateFormat.SHORT).format(Calendar.getInstance().getTime());

获取单位本地化格式的短日期格式字符串。

我不明白为什么当操作系统/Java提供正确的日期和时间本地化时,这么多答案使用硬编码的日期和时间格式。总是使用设备的格式不是比程序员的格式更好吗?

它还提供了以本地化格式读取日期的功能:

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

然后由用户设置格式来显示日期和时间,而不是您。无论语言等如何,在不同的国家/地区,同一语言有不同的格式。

tl; dr

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

…或者…

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

详情

其他答案虽然正确,但已经过时了。旧的日期时间类已被证明设计不当,令人困惑且麻烦。

java.time

这些旧类已被java.time框架取代。

这些新类的灵感来自非常成功的Joda-Time项目,由JSR 310定义,并由额外三个项目扩展。

Oracle教程

Instant

#0UTC中时间轴上的一个时刻,分辨率最高为纳秒

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

时区

应用时区(#0)以获得#1。如果您省略时区,您的JVM当前默认时区将被隐式应用。最好显式指定所需/预期的时区。

continent/region的格式使用正确的时区名称,例如#1#2#3。不要使用3-4个字母的缩写,例如ESTIST,因为它们既不标准化也不独特。

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

Java中的日期时间类型表,现代的和传统的

生成字符串

您可以轻松生成String作为日期时间值的文本表示形式。您可以使用标准格式、您自己的自定义格式或自动本地化格式。

ISO8601

您可以调用toString方法来使用通用且合理的ISO8601标准格式化文本。

String output = instant.toString();

2016-03-23 T 03:09:01.613 Z

请注意,对于ZonedDateTimetoString方法通过在方括号中附加时区名称来扩展ISO 8601标准。非常有用和重要的信息,但不是标准的。

2016-03-22 T 20:09:01.613-08:00[美国/Los_Angeles]

自定义格式

或者使用#0类指定您自己的特定格式模式。

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

为人类语言(英语、法国等)指定#0,用于翻译日/月的名称以及定义文化规范,例如年、月和日期的顺序。请注意,Locale与时区无关。

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

本地化

更好的是,让java.time自动完成本地化工作。

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

关于java.time

java.time框架内置于Java8及更高版本中。这些类取代了麻烦的旧遗产日期时间类,例如#0#1#2

要了解更多信息,请参阅Oracle教程。并搜索Stack Overflow以获取许多示例和解释。规格是JSR 310

Joda-Time项目,现在在维护模式中,建议迁移到java.time类。

您可以直接与您的数据库交换java.time对象。使用JDBC驱动程序兼容JDBC 4.2或更高版本。不需要字符串,不需要java.sql.*类。Hibernate 5和JPA 2.2支持java.time

在哪里可以获得java.time类?

表中列出了在Java和Android版本上使用的java.time技术的实现。

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:36String currentDateandTime = databaseDateFormate.format(new Date());     //2009-06-30String currentDateandTime = sdf1.format(new Date());     //30.06.09String currentDateandTime = sdf2.format(new Date());     //2009.06.30 AD at 08:29:36 PDTString currentDateandTime = sdf3.format(new Date());     //Tue, Jun 30, '09String currentDateandTime = sdf4.format(new Date());     //8:29 PMString currentDateandTime = sdf5.format(new Date());     //8:29String currentDateandTime = sdf6.format(new Date());     //8:28:36:249String currentDateandTime = sdf7.format(new Date());     //8:29 AM,PDTString currentDateandTime = sdf8.format(new Date());     //2009.June.30 AD 08:29 AM

日期格式

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 markerk   Hour in day (1-24, unlike HH's 0-23)K   Hour in day, AM / PM (0-11)z   Time Zone

尝试使用下面的代码:

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

您可以简单地使用以下代码:

 DateFormat df = new SimpleDateFormat("HH:mm"); // Format timeString time = df.format(Calendar.getInstance().getTime());
DateFormat df1 = new SimpleDateFormat("yyyy/MM/dd"); // Format dateString date = df1.format(Calendar.getInstance().getTime());

如果您需要当前日期:

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);

如果您需要当前时间:

 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));

这是一个用于获取日期和时间的方法:

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;}

您可以调用此方法并获取当前日期和时间值:

2017/01//09 19:23

com.google.gson.internal.bind.util包中有一个ISO8601Utils实用程序类,因此如果您在应用程序中排名第2,您可以使用它。

它支持毫秒和时区,因此开箱即用是一个非常好的选择。

下面的方法将以字符串形式返回当前日期和时间,根据您的实际时区使用不同的时区。我使用了GMT。

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);}

好吧,我对API的一些答案有问题,所以我融合了这段代码:

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);

输出:

03:25 PM - 2017/10/03
    //currentTimeMillis is System.currentTimeMillis()
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);

以下是获取时间和日期的几种方法:

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();}

使用日历的时间

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();}

当地时间和日期

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();}

区域明智的时间

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(this,formattedTime , Toast.LENGTH_SHORT).show();}

获取当前时间和日期的简单方法

import java.util.Calendar
Date currentTime = Calendar.getInstance().getTime();

静态编程语言

以下是获取静态编程语言中当前日期时间的各种方法。

fun main(args: Array<String>) {println(System.currentTimeMillis()) // Current milliseconds
val date = Calendar.getInstance().time // Current date objectval date1 = Date(System.currentTimeMillis())
println(date.toString())println(date1.toString())
val now = Time(System.currentTimeMillis()) // Current time objectprintln(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}

您可以从日历中单独获取时间和日期

// 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);

对于带格式的当前日期和时间,请使用:

在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)

静态编程语言

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)}

日期格式化程序模式

"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

您可以通过此功能获取GMT时间的本地时间

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);}

当前时间和日期在Android格式

Calendar c = Calendar.getInstance();System.out.println("Current dateTime => " + c.getTime());SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss a");String formattedDate = df.format(c.getTime());System.out.println("Format dateTime => " + formattedDate);

产出

I/System.out: Current dateTime => Wed Feb 26 02:58:17 GMT+05:30 2020I/System.out: Format dateTime => 26-02-2020 02:58:17 AM

对于后缀为“AM”或“PM”的12小时制时钟:

DateFormat df = new SimpleDateFormat("KK:mm:ss a, dd/MM/yyyy", Locale.getDefault());String currentDateAndTime = df.format(new Date());

对于后缀为“AM”或“PM”的24小时制时钟:

 DateFormat df = new SimpleDateFormat("HH:mm:ss a, dd/MM/yyyy", Locale.getDefault());String currentDateAndTime = df.format(new Date());

要删除后缀,只需删除使用时间格式编写的“a”。

您可以使用此代码获取当前日期和时间:

val current_data_time= SimpleDateFormat("MMMMddyyyyHHmm", Locale.getDefault())val currentDateandTime: String = current_data_time.format(Date())

如果您使用MMMM:则月份名称显示例如“三月”

如果您使用MM:则数字显示,例如“3”

dd表示日,yyyy表示年

如果您只想要最后两位数字,那么yy

如果您先更改月份和年份,然后需要更改MMMM和dd和yyyy左右,例如2021/3/12 12:12 dd/MM/YYYY HH: mm

尝试以简单的方式获取当前日期和时间:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd G 'at' HH:mm:ss z");String currentDateandTime = sdf.format(new Date());

在此输入图片描述

Java

Long date=System.currentTimeMillis();SimpleDateFormat dateFormat =new SimpleDateFormat("dd / MMMM / yyyy - HH:mm", Locale.getDefault());String dateStr = dateFormat.format(date);

静态编程语言

date if毫秒和13位数字(十六进制到日期)

val date=System.currentTimeMillis() //here the date comes in 13 digitsval dtlong = Date(date)val sdfdate = SimpleDateFormat(pattern, Locale.getDefault()).format(dtlong)

日期格式

"dd / MMMM / yyyy - HH:mm" -> 29 / April / 2022 - 12:03"dd / MM / yyyy" -> 29 / 03 / 2022"dd / MMM / yyyy" -> 29 / Mar / 2022 (shortens the month)"EEE, d MMM yyyy HH:mm:ss" -> Wed, 4 Jul 2022 12:08:56