【发布时间】:2018-12-05 09:28:33
【问题描述】:
我正在将 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 及更高版本中工作的 shorter 代码是什么?
是否有一些Java代码在调用日期对象的方法时生成日期格式的字符串(例如:Date.format("yyyy-MM-dd"))?
【问题讨论】:
-
创建日期格式对象的成本很高。这样你就有机会重复使用它。但请注意 - 它不是线程安全的。也许这回答了为什么没有更短的替代方案的问题。
-
我建议你避免使用
SimpleDateFormat类。它不仅过时了,而且出了名的麻烦。今天我们在java.time, the modern Java date and time API 中做得更好。 -
不要追求短代码。而是争取清晰可读的代码。有时它们碰巧是相同的,有时较短的代码可读性较差。
-
String s = Now.ToString("yyyy-MM-dd"),那不是vb... -
是的,它不是 VB。我会改正的。
标签: java vb.net date migration date-formatting