java - 从 Android 中的时间戳获取日期名称

标签 java android date timestamp deprecated

我有一个类,当它被初始化时,它使用公共(public) getter 在私有(private)字段中记录初始化时间:

public class TestClass {

   private long mTimestamp;

    public TestClass(){
      mTimestamp = System.getCurrentMillis();
    }

    public long getTimestamp(){
          return mTimestamp;
    }
}

我还有一个以天为名的枚举:

public enum Days implements Serializable {
    MONDAY,
    TUESDAY,
    WEDNESDAY,
    THURSDAY,
    FRIDAY,
    SATURDAY,
    SUNDAY
}

现在问题出在另一个类中,我必须获取时间戳并将 Days 字段设置为类初始化的日期:

public class OtherClass {

     public Days getDayOfInitialization(TestClass testClass){
          //how to do this?
          Date date = new Date(testClass.getTimestamp())
          Days day = Date.getDay(); //Deprecated!
          //convert to enum and return...
     }
}

DategetDay() 方法已弃用...我应该怎么做?

最佳答案

如果您只需要以人类可读的格式显示星期几,并根据当前用户的语言环境进行格式化,那么您可以使用以下方法:

SimpleDateFormat sdf = new SimpleDateFormat("EEEE");
String dayString = sdf.format(new Date());

如果他们的语言环境是“en_US”,输出是:

Wednesday

如果他们的语言环境是“de_DE”,输出是:

Mittwoch

如果他们的语言环境是“fr_FR”,输出是:

mercredi

但是,如果您需要星期几的数字表示(例如,如果是星期日则需要“1”,如果是星期一则需要“2”),那么您可以使用日历:

Calendar cal = Calendar.getInstance();
int dayInt = cal.get(Calendar.DAY_OF_WEEK);

关于java - 从 Android 中的时间戳获取日期名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24540443/

相关文章:

java - 如何使用 spring mvc 在 REST POST 方法中传递 List<>

java - 原始 int 也是 Comparable 吗?

java - 将 2 个微调器与 onItemSelected 一起使用

android - 是否有适用于 android 的 gradle 的 aspectj-maven-plugin 的等价物?

java - ArrayList 中的对象有引用吗?

java - 在内部类安全实践中访问外部类变量/成员?

android - 将 Google Play 服务从 8.4.0 更新到 9.2.1 导致 Gradle 同步错误

R如何根据上下文填写缺失的日期

php - 日期格式中的波兰月份

java - 使用 mongo 的 jongo 驱动程序查询日期