我有一个类,当它被初始化时,它使用公共(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...
}
}
Date
的 getDay()
方法已弃用...我应该怎么做?
最佳答案
如果您只需要以人类可读的格式显示星期几,并根据当前用户的语言环境进行格式化,那么您可以使用以下方法:
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/