简单的菜鸟问题:我应该使用java.util获取Android应用程序的系统日期和时间,还是应该使用android日历类。 Java对我来说使用起来要容易得多,因为它让我对一周中的某一天变得更容易。请指导。
由于
编辑:我希望应用程序在没有互联网连接的情况下运行,从手机中获取时间和日期。
答案 0 :(得分:1)
使用Calendar。
Calendar cal = Calendar.getInstance();
int week = cal.get(Calendar.DAY_OF_WEEK);
您还可以考虑Time课程。
答案 1 :(得分:1)
LocalDate // Represent a date, without time-of-day, and without time zone.
.now( ZoneId.systemDefault() ) // Capture the current date as seen in a particular time zone.
.getDayOfWeek() // Returns a `DayOfWeek` enum object.
.getDisplayName( // Generate localized text for the day-of-week’s name.
TextStyle.FULL , // How long or abbreviated should be the day-of-week name.
Locale.getDefault() // The human language and cultural norms to use in localizing.
)
星期一
我应该使用java.util获取android应用的系统日期和时间,还是应该使用android calender类
都不是。现代的解决方案是 java.time 类。
您问:
获取星期几
Capture the current date,如JVM当前的默认时区所示。
LocalDate ld = LocalDate.now( ZoneId.systemDefault() ) ;
提取day of week。
DayOfWeek dow = ld.getDayOfWeek() ;
生成星期几名称的本地化文本。
Locale locale = Locale.getDefault() ;
String output = dow.getDisplayName( TextStyle.FULL , locale ) ;
java.time框架已内置在Java 8及更高版本中。这些类取代了麻烦的旧legacy日期时间类,例如java.util.Date
,Calendar
和SimpleDateFormat
。
要了解更多信息,请参阅Oracle Tutorial。并在Stack Overflow中搜索许多示例和说明。规范为JSR 310。
Joda-Time项目(现在位于maintenance mode中)建议迁移到java.time类。
您可以直接与数据库交换 java.time 对象。使用符合JDBC driver或更高版本的JDBC 4.2。不需要字符串,不需要java.sql.*
类。 Hibernate 5和JPA 2.2支持 java.time 。
在哪里获取java.time类?