java如何从日期获取当前月份
我需要将长值转换为任意日期。接下来,我要写出月份,转换为字符串。我想在文本视图上显示月份
我试过:
Date dt = new Date();
Calendar cal= Calendar.getInstance();
cal.setTime(dt); //get current time
long dateAsLong = calendar.getTimeInMillis(); // get currentTime as long
CalendarView.setDate(dateAsLong); // give the view CalendarView the current date
TextView tv= (TextView) findViewById(R.id.TextViewDate);
tv.setText(String.valueOf(dateAsLong)); // <-- but this is wrong
# 1 楼答案
tl;博士
避免遗留日期时间类
其他答案使用了麻烦的旧日期时间类,这些类现在是遗留的,被java所取代。时间课
爪哇。时间
假设
long
值表示自1970年第一个UTC时刻以来的毫秒计数,请使用Instant
^{} 类表示UTC中时间轴上的一个时刻,分辨率为nanoseconds(最多九(9)位小数)
你想写一个月。确定一个月意味着确定一个日期。确定日期需要时区。在任何一个特定的时刻,世界各地的日期因地区而异。例如,午夜过后几分钟在Paris France是新的一天,而在Montréal Québec仍然是“昨天”
以} 、^{} 或
continent/region
的格式指定一个proper time zone name,例如^{Pacific/Auckland
。千万不要使用3-4个字母的缩写,比如EST
或IST
,因为它们不是真正的时区,没有标准化,甚至不是唯一的(!)现在进行一个月的审问。爪哇。时间类包括一个
Month
枚举,代表一月到十二月Month
enum包含一些方便的方法,比如以自动本地化的格式生成字符串关于java。时间
java.time框架内置于Java8及更高版本中。这些类取代了麻烦的legacy日期时间类,如^{} 、^{} 、&^{}
目前位于maintenance mode的Joda-Time项目建议迁移到java.time类
要了解更多信息,请参阅Oracle Tutorial。并在Stack Overflow中搜索许多示例和解释。规范是JSR 310
在哪里可以获得java。时间课
ThreeTen-Extra项目扩展了java。有额外课程的时间。这个项目是java未来可能增加的一个试验场。时间你可以在这里找到一些有用的类,比如^{} 、^{} 、^{} 和more
# 2 楼答案
首先从Long那里得到日期
一旦你有了字符串形式的月份,使用下面的代码将其转换为android textView
# 3 楼答案
# 4 楼答案
使用以下代码:
希望有帮助