我正在将 VB.Net 程序转换为 Java,我必须转换以下行
Dim s = Now.ToString("yyyy-MM-dd")
我写了下面的 Java 代码
Date d = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String s = sdf.format(d);
我可以写在一行上
String s = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
在 Java 6 和更高版本中工作的 Java 中更短代码是什么?
是否有一些 Java 代码在调用 Date 对象的方法时生成日期格式的字符串(例如:Date.format("yyyy-MM-dd")
)?
最佳答案
在 Java 6 及更高版本中工作的 Java 中较短的代码是什么?
我想回答“Java 6 及更高版本”部分:deHaar 的回答中的代码可以。我的版本要么是
String now = LocalDate.now(ZoneId.systemDefault()).toString();
或
DateTimeFormatter customFormatter = new DateTimeFormatter.ofPattern("uuuu-MM-dd");
String now = LocalDate.now(ZoneId.systemDefault()).format(customFormatter);
- 在 Java 8 及更高版本以及较新的 Android 设备(从 API 级别 26 开始)中,现代 API java.time 是内置的。
- 在 Java 6 和 7 中获取 ThreeTen Backport,新类的反向端口(ThreeTen for JSR 310;查看底部的链接)。
- 在(较旧的)Android 上使用 ThreeTen Backport 的 Android 版本。它叫做 ThreeTenABP。并确保使用子包从
org.threeten.bp
导入日期和时间类。
链接
- > Oracle tutorial: Date Time解释如何使用
java.time
。 - > Java Specification Request (JSR) 310 ,其中首次描述了
java.time
。 - > ThreeTen Backport project ,
java.time
到 Java 6 和 7(JSR-310 的 ThreeTen)的反向移植。 - > ThreeTenABP , ThreeTen Backport 安卓版
- > Question: How to use ThreeTenABP in Android Project ,并提供非常详尽的解释。
- > Wikipedia article: ISO 8601
关于java - 什么是 VB.Net 中相当于 Now.ToString ("yyyy-MM-dd") 的较短 Java 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53629032/