以与系统相同的格式获取系统日期

时间:2015-07-29 06:01:56

标签: java date

我希望我的java程序采用系统日期格式。

例如:当我将系统中的日期格式从mm-dd-yy更改为yyyy-MM-dd时。 我希望我的java程序从系统中提取短日期格式并显示在我的程序中。

再次,如果我将系统格式更改为M/D/YY,我的java程序将显示此内容。

我尝试过几个选项,

Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat();
System.out.println(System.currentTimeMillis());
System.out.println(cal.getTime());
System.out.println( sdf.format(cal.getTime()) );

这始终会打印mm/dd/yy,尽管系统中有yyyy-mm-dd格式。

任何帮助都将不胜感激。

5 个答案:

答案 0 :(得分:3)

使用SimpleDateFormat.toLocalizedPattern()

来自Java Docs:

  

返回描述此日期格式的本地化模式字符串。

答案 1 :(得分:0)

DateFormat dateFormat = new SimpleDateFormat("MM/dd/yyy");
Date date = new Date();

然后只需打印

dateFormat.format(date);

答案 2 :(得分:0)

public static String getDateFromLongformat(long dateInLong) {

    Date date = new Date(dateInLong);
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
    String dateText = df.format(date);

    return dateText;
}

答案 3 :(得分:0)

我们正在使用以下方法

  1. 确定系统的时区
  2. 将日期格式映射到首选时区
  3. 使用映射中的dateformat显示日期。
  4. 第2步基本上是一个属性文件,我们在其中映射了时区和首选日期格式。

答案 4 :(得分:0)

您无法使用Java检索操作系统中使用的日期格式,但您可以使用SimpleDateFormat类根据区域设置格式化日期。

参考文档:http://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html