如何在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一起使用的模式字符串吗? 如果你的意思是当前的默认平台日期,那么你应该使用LocalesgetDefault() 我建议你不要使用DateSimpleDateFormat。这些课程设计不佳且早已过时。请暂时使用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中获取默认日期模式?的主要内容,如果未能解决你的问题,请参考以下文章

如何在猫鼬模式中使用异步默认值?

在 Java 8 中获取日期

如何使用引导模式更新引导日期时间选择器中的默认日期

如何在Java中获取用户出生日期的月份和日期

如何获取 SQL 连接的默认模式?

如何在java中获取目录的最后修改日期和时间