Java 将DateFormat设置为当前日期和时间
我使用java.text.DateFormat为我的应用程序的用户显示日期和时间。下面是我测试输出的代码 问题是日期显示为1970年(见下面的输出)。如何将其更新为当前日期和时间 电流输出:Java 将DateFormat设置为当前日期和时间,java,android,date,time,Java,Android,Date,Time,我使用java.text.DateFormat为我的应用程序的用户显示日期和时间。下面是我测试输出的代码 问题是日期显示为1970年(见下面的输出)。如何将其更新为当前日期和时间 电流输出: 1 Jan 1970 01:00:00 Time now = new Time(); now.setToNow(); String date= now.toString(); 20140722T133458Europe/London(2,202,3600,1,14060
1 Jan 1970 01:00:00
Time now = new Time();
now.setToNow();
String date= now.toString();
20140722T133458Europe/London(2,202,3600,1,1406032498)
当前代码:
DateFormat[] formats = new DateFormat[] {
DateFormat.getDateTimeInstance(),
};
for (DateFormat df : formats) {
Log.d("Dateformat", "Date format: " + (df.format(new Date(0))));
}
或者,如果上述方法不可行,我可以使用以下方法获取当前时间和日期:
1 Jan 1970 01:00:00
Time now = new Time();
now.setToNow();
String date= now.toString();
20140722T133458Europe/London(2,202,3600,1,1406032498)
输出:
1 Jan 1970 01:00:00
Time now = new Time();
now.setToNow();
String date= now.toString();
20140722T133458Europe/London(2,202,3600,1,1406032498)
如何调整此值以使其对用户可读?只需在第一段代码中写入新日期()
,而不是新日期(0)
。当你写新日期(一些数字)
时,它会在1/1/1970 00:00:00Z
之后生成一个数毫秒的日期,只需在第一段代码中写新日期()
,而不是新日期(0)
。当你写新日期(一些数字)
时,它会在1/1/1970 00:00:00Z
之后生成一个数毫秒的日期,只需在第一段代码中写新日期()
,而不是新日期(0)
。当你写新日期(一些数字)
时,它会在1/1/1970 00:00:00Z
之后生成一个数毫秒的日期,只需在第一段代码中写新日期()
,而不是新日期(0)
。当你写新的日期(一些数字)时,它会在1/1/1970 00:00:00Z
之后生成一个数毫秒的日期
String S = new SimpleDateFormat("MM/dd/yyyy").format(System.currentTimeMillis());
使用此项—
String S = new SimpleDateFormat("MM/dd/yyyy").format(System.currentTimeMillis());
使用此项—
String S = new SimpleDateFormat("MM/dd/yyyy").format(System.currentTimeMillis());
使用此项—
String S = new SimpleDateFormat("MM/dd/yyyy").format(System.currentTimeMillis());
tl;博士
Instant
所接受的结果是正确的
但是要知道,您使用的是麻烦的旧日期时间类,现在已被java.time类取代
该类表示时间线上的一个时刻,分辨率为(小数点的九(9)位)
要根据标准生成表示该时刻格式的字符串,只需调用toString
ZoneDateTime
要通过某个区域的透镜观察同一时刻,请应用a获得a
DateTimeFormatter
为了向用户演示,让java.time使用类自动本地化
要本地化,请指定:
- 确定字符串的长度或缩写
- 确定(a)用于翻译日名、月名等的人类语言,以及(b)决定缩写、大写、标点等问题的文化规范
Locale l = Locale.CANADA_FRENCH ;
DateTimeFormatter f = DateTimeFormatter.ofLocalizedDateTime( FormatStyle.FULL ).withLocale( l );
String output = zdt.format( f );
关于java.time 该框架内置于Java8及更高版本中。这些类取代了麻烦的旧日期时间类,例如,& 该项目现已启动,建议迁移到java.time 要了解更多信息,请参阅。并搜索堆栈溢出以获得许多示例和解释。规格是 从哪里获得java.time类
- 后来
- 内置的李>
- 标准JavaAPI的一部分,带有捆绑实现
- Java9添加了一些次要功能和修复
- 及
- 大部分java.time功能都在中向后移植到Java6和Java7
-
- 该项目专门针对Android采用了Three Ten Backport(如上所述)
- 看
Instant
所接受的结果是正确的
但是要知道,您使用的是麻烦的旧日期时间类,现在已被java.time类取代
该类表示时间线上的一个时刻,分辨率为(小数点的九(9)位)
要根据标准生成表示该时刻格式的字符串,只需调用toString
ZoneDateTime
要通过某个区域的透镜观察同一时刻,请应用a获得a
DateTimeFormatter
为了向用户演示,让java.time使用类自动本地化
要本地化,请指定:
- 确定字符串的长度或缩写
- 确定(a)用于翻译日名、月名等的人类语言,以及(b)决定缩写、大写、标点等问题的文化规范
Locale l = Locale.CANADA_FRENCH ;
DateTimeFormatter f = DateTimeFormatter.ofLocalizedDateTime( FormatStyle.FULL ).withLocale( l );
String output = zdt.format( f );
关于java.time 该框架内置于Java8及更高版本中。这些类取代了麻烦的旧日期时间类,例如,& 该项目现已启动,建议迁移到java.time 要了解更多信息,请参阅。并搜索堆栈溢出以获得许多示例和解释。规格是 从哪里获得java.time类
- 后来
- 内置的李>
- 标准JavaAPI的一部分,带有捆绑实现
- Java9添加了一些次要功能和修复
- 及
- 大部分java.time功能都在中向后移植到Java6和Java7
-
- 该项目专门针对Android采用了Three Ten Backport(如上所述)
- 看
Instant
所接受的结果是正确的
但是要知道,您使用的是麻烦的旧日期时间类,现在已被java.time类取代
该类表示时间线上的一个时刻,分辨率为(小数点的九(9)位)
生成一个字符串表示