【问题标题】:Format time from miliseconds to show only the date [duplicate]将时间从毫秒格式化为仅显示日期 [重复]
【发布时间】:2014-01-09 05:01:30
【问题描述】:

对不起,如果我的问题已经得到解答,但我真的找不到我要找的东西。 所以我有这个时间“1228061700000”,我想将它转换为只显示日期,比如 17/6/08。 检查语言环境也很好,因此对于美国语言环境,格式应为 08 年 6 月 17 日,欧洲语言环境为 17/6/08... 我该怎么做?

【问题讨论】:

  • 一些代码会有所帮助...
  • 你需要从“1228061700000”转换还是没关系?
  • 我需要从许多这样的日期转换,所以我只需要一个很好的例子来使用

标签: java


【解决方案1】:

DateFormat.getDateInstance(int style, Locale aLocale)这会以特定于区域设置的方式显示当前日期。

所以,你可以试试:

DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, yourLocale);
String formattedDate = df.format(yourDate);

在这种情况下,您可以选择yourDate 的类型。 您的位置可以更改为Locale.UK Locale.US 等。

【讨论】:

    【解决方案2】:

    使用日期格式:

    DateFormat f = DateFormat.getDateInstance(DateFormat.SHORT, Locale.ENGLISH);
    String result = f.format(new Date(millis));
    

    【讨论】:

    • 哦,是的,谢谢。修好了。
    • 我不想使用过时的方法
    【解决方案3】:
    long milliSeconds=1228061700000l;
    DateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");  //change your date time formate as required
    Calendar calendar = Calendar.getInstance();
    calendar.setTimeInMillis(milliSeconds);
    System.out.println(formatter.format(calendar.getTime()));
    

    【讨论】:

    • 日历很昂贵,我不会设置日历只是为了从中获取日期。请改用new Date(millisSeconds)
    猜你喜欢
    • 2017-06-05
    • 1970-01-01
    • 2022-11-23
    • 2019-12-09
    • 2021-10-11
    • 2013-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多