如何获取Android模拟器的当前日期格式

时间:2014-03-08 08:00:26

标签: java android date date-format

我想获得 Android 模拟器的当前日期格式。任何人都可以帮助我吗?

不喜欢这个

SimpleDateFormat FormattedDATE = new SimpleDateFormat("M-d-yyyy");      
Calendar cal = Calendar.getInstance();

2 个答案:

答案 0 :(得分:2)

有多种选择:

DateFormat defaultFormat = DateFormat.getDateInstance();
DateFormat longFormat = DateFormat.getDateInstance(DateFormat.LONG);
DateFormat mediumFormat = DateFormat.getDateInstance(DateFormat.MEDIUM);
// etc

同样适用于getDateTimeInstance

基本上看一下返回DateFormat实例的DateFormat的静态方法。

答案 1 :(得分:1)

java.time

java.util 日期时间 API 及其格式化 API SimpleDateFormat 已过时且容易出错。建议完全停止使用它们并切换到 modern Date-Time API*

使用 java.time(现代日期时间 API)的解决方案:

DateTimeFormatter#ofLocalizedDate 提供了一个使用特定于区域设置的日期格式的格式化程序。

演示:

import java.time.LocalDate;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.time.format.FormatStyle;
import java.util.Locale;

public class Main {
    public static void main(String[] args) {
        LocalDate today = LocalDate.now(ZoneId.of("America/New_York"));

        DateTimeFormatter shortDateFormatter = DateTimeFormatter.ofLocalizedDate(FormatStyle.SHORT)
                                                .localizedBy(Locale.ENGLISH);
        System.out.println(shortDateFormatter.format(today));

        DateTimeFormatter mediumDateFormatter = DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM)
                                                .localizedBy(Locale.ENGLISH);
        System.out.println(mediumDateFormatter.format(today));

        DateTimeFormatter longDateFormatter = DateTimeFormatter.ofLocalizedDate(FormatStyle.LONG)
                                                .localizedBy(Locale.ENGLISH);
        System.out.println(longDateFormatter.format(today));
    }
}

输出:

7/13/21
Jul 13, 2021
July 13, 2021

ONLINE DEMO

根据需要更改 ZoneIdLocale

Trail: Date Time 了解有关现代 Date-Time API 的更多信息。


* 出于任何原因,如果您必须坚持使用 Java 6 或 Java 7,您可以使用 ThreeTen-Backport,它将大部分 java.time 功能向后移植到 Java 6 & 7. 如果您正在为 Android 项目工作并且您的 Android API 级别仍然不符合 Java-8,请检查 Java 8+ APIs available through desugaringHow to use ThreeTenABP in Android Project