如何在java中获取默认日期模式?
Posted
技术标签:
【中文标题】如何在java中获取默认日期模式?【英文标题】:How to get default date pattern in java? 【发布时间】:2015-01-08 05:30:13 【问题描述】:public class DefaultDateFormatPattern
public static void main(String[] args)
System.out.println(new Date());
输出为:Thu Jan 08 10:52:56 IST 2015
Java 中是否有任何方法可以获取显示日期的模式?
【问题讨论】:
“模式”是指可以与java.text.SimpleDateFormat
一起使用的模式字符串吗?
如果你的意思是当前的默认平台日期,那么你应该使用Locales
和getDefault()
我建议你不要使用Date
和SimpleDateFormat
。这些课程设计不佳且早已过时。请暂时使用java.time, the modern Java date and time API 中的Instant
。其toString
方法产生的格式在DateTimeFormatter.ISO_INSTANT
中。
【参考方案1】:
根据Date
类的Java 8 toString()
方法,格式为:EEE MMM dd HH:mm:ss zzz yyyy
。
【讨论】:
正确(不是我们应该打扰,因为在 2019 年我们不应该再使用Date
类)。【参考方案2】:
您可以尝试SimpleDateFormat.toLocalizedPattern() 或SimpleDateFormat.toPattern() 获取模式。
SimpleDateFormat format=new SimpleDateFormat();
System.out.println(format.toLocalizedPattern());
System.out.println(format.toPattern());
传递区域设置以获取特定于区域设置的模式。
Read similar post
【讨论】:
SimpleDateFormat 构造函数需要带有语言环境的模式。但我想知道它为我的语言环境打印之日起的模式。 查看源代码中的Date.toString()
方法,看看它做了什么。【参考方案3】:
您可以使用 SimpleDateFormat 获取所需的任何日期格式。 SimpleDateFormat 的默认格式是
d/M/yy h:mm a
你可以设置你想要的方式。
例如。
SimpleDateFormat format=new SimpleDateFormat("dd/MM/yyyy");
System.out.println(format.format(new Date()));
【讨论】:
【参考方案4】: Calendar rightNow = Calendar.getInstance();
DateFormat d = new SimpleDateFormat("DDD", Locale.getDefault());
String day = d.format(rightNow.getTime());
您可以使用SimpleDateFormat
的重载构造函数在第二个参数中获取当前默认使用Locale.getDefault()
..
检查SimpleDateFormat Api Docs
【讨论】:
以上是关于如何在java中获取默认日期模式?的主要内容,如果未能解决你的问题,请参考以下文章