【问题标题】:How to get default date pattern in java?如何在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中。

标签: java date formatting


【解决方案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

    【讨论】:

      猜你喜欢
      • 2021-03-09
      • 1970-01-01
      • 2020-12-14
      • 2021-03-03
      • 1970-01-01
      • 1970-01-01
      • 2015-09-22
      • 2020-12-26
      • 1970-01-01
      相关资源
      最近更新 更多