Java 在Android中获取一周中当前一天的最简单方法是什么?
在Android中获取当前工作日的最简单方法是什么?Java类可以工作Java 在Android中获取一周中当前一天的最简单方法是什么?,java,android,Java,Android,在Android中获取当前工作日的最简单方法是什么?Java类可以工作 Calendar calendar = Calendar.getInstance(); int day = calendar.get(Calendar.DAY_OF_WEEK); switch (day) { case Calendar.SUNDAY: // Current day is Sunday break; case Calendar.MONDAY:
Calendar calendar = Calendar.getInstance();
int day = calendar.get(Calendar.DAY_OF_WEEK);
switch (day) {
case Calendar.SUNDAY:
// Current day is Sunday
break;
case Calendar.MONDAY:
// Current day is Monday
break;
case Calendar.TUESDAY:
// etc.
break;
}
<>对于更好的数据处理,请考虑使用: 要使用以下Android SDK 26,您需要在build.gradle中启用Java 8 desugaring:
android {
defaultConfig {
// Required when setting minSdkVersion to 20 or lower
multiDexEnabled true
}
compileOptions {
// Flag to enable support for the new language APIs
coreLibraryDesugaringEnabled true
// Sets Java compatibility to Java 8
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.0.9'
}
有关Android Java 8支持的更多信息:
或
和Java一样,Android没有什么特别之处 由于GregoriaCalendar中的一周的第几天类是一个静态字段,您可以直接访问它 傻瓜 int dayOfWeek=GregorianCalendar.DAY/u周
Calendar Calendar=Calendar.getInstance();
Date=calendar.getTime();
//3字母名称当天的表格
System.out.println(新的SimpleDataFormat(“EE”,Locale.ENGLISH).format(date.getTime());
//当日全名表格
System.out.println(新的SimpleDataFormat(“EEEE”,Locale.ENGLISH).format(date.getTime());
结果(今日):
结果(今日):
如果您根本不想使用Calendar类,则可以使用此
String weekday_name = new SimpleDateFormat("EEEE", Locale.ENGLISH).format(System.currentTimeMillis());
i、 结果是
"Sunday"
使用这两种方法,如果你坚持不了七天,你会发现很容易 您使用(currentdaynumber+7-1)%7,(currentdaynumber+7-2)%7…..最多6个
public static String getDayName(int day){
switch(day){
case 0:
return "Sunday";
case 1:
return "Monday";
case 2:
return "Tuesday";
case 3:
return "Wednesday";
case 4:
return "Thursday";
case 5:
return "Friday";
case 6:
return "Saturday";
}
return "Worng Day";
}
public static String getCurrentDay(){
SimpleDateFormat dayFormat = new SimpleDateFormat("EEEE", Locale.US);
Calendar calendar = Calendar.getInstance();
return dayFormat.format(calendar.getTime());
}
下面是我获取当前日期的简单方法
public String getCurrentDay(){
String daysArray[] = {"Sunday","Monday","Tuesday", "Wednesday","Thursday","Friday", "Saturday"};
Calendar calendar = Calendar.getInstance();
int day = calendar.get(Calendar.DAY_OF_WEEK);
return daysArray[day];
}
Java 8
datetime
API
使其变得更加简单:
LocalDate.now().getDayOfWeek().name()
将以String
产出:星期四
您可以将该代码用于Kotlin,您将在Kotlin中使用java中的calendar类
val day = Calendar.getInstance().get(Calendar.DAY_OF_WEEK)
fun dayOfWeek() {
println("What day is it today?")
val day = Calendar.getInstance().get(Calendar.DAY_OF_WEEK)
println( when (day) {
1 -> "Sunday"
2 -> "Monday"
3 -> "Tuesday"
4 -> "Wednesday"
5 -> "Thursday"
6 -> "Friday"
7 -> "Saturday"
else -> "Time has stopped"
})
}
万一你不想在安卓系统上做这件事,想想哪一天不是所有设备都在本地时间标记日历是很有帮助的 从Java 8开始:
LocalDate.now(ZoneId.of("America/Detroit")).getDayOfWeek()
如果要在
strings.xml
中定义日期字符串。你可以像下面这样做。Calendar.DAY\u OF_WEEK
从1->7
Calendar.SUNDAY->Calendar.SATURDAY
strings.xml
<string-array name="title_day_of_week">
<item>日</item> <!-- sunday -->
<item>月</item> <!-- monday -->
<item>火</item>
<item>水</item>
<item>木</item>
<item>金</item>
<item>土</item> <!-- saturday -->
</string-array>
使用
// get current day
val currentDay = Date().getDayOfWeek(context)
// get specific day
val dayString = "2021-1-4"
val day = dayString.getDayOfWeek(context, "yyyy-MM-dd")
我不知道为什么,但在我的例子中,日期从1开始,而不是从0开始。因此,我的数组如下所示:
String[]days={?”,“Sun”,“Mon”,“Tue”,“Wed”,“Thu”,“Fri”,“Sat”}代码>你可以去掉“?”,然后像int day=calendar.get(calendar.day\u of u WEEK)-1代码>这是跨Java而不是Android应用的。“Calendar”类来自java.utilpackage@Navin伊斯拉尼你什么意思?我看不出使用java.util有任何问题。日历添加到API级别1.add中。Kotlin到你的旗子上这会返回一个INT,你可以在日历上查看。星期天等等。很好!但API~21在Androidany解决方案中需要API级别26?感谢您也可以轻松地为java和Kotlin使用Calendar类
public static String getDayName(int day){
switch(day){
case 0:
return "Sunday";
case 1:
return "Monday";
case 2:
return "Tuesday";
case 3:
return "Wednesday";
case 4:
return "Thursday";
case 5:
return "Friday";
case 6:
return "Saturday";
}
return "Worng Day";
}
public static String getCurrentDay(){
SimpleDateFormat dayFormat = new SimpleDateFormat("EEEE", Locale.US);
Calendar calendar = Calendar.getInstance();
return dayFormat.format(calendar.getTime());
}
public String getCurrentDay(){
String daysArray[] = {"Sunday","Monday","Tuesday", "Wednesday","Thursday","Friday", "Saturday"};
Calendar calendar = Calendar.getInstance();
int day = calendar.get(Calendar.DAY_OF_WEEK);
return daysArray[day];
}
LocalDate.now().getDayOfWeek().name()
val day = Calendar.getInstance().get(Calendar.DAY_OF_WEEK)
fun dayOfWeek() {
println("What day is it today?")
val day = Calendar.getInstance().get(Calendar.DAY_OF_WEEK)
println( when (day) {
1 -> "Sunday"
2 -> "Monday"
3 -> "Tuesday"
4 -> "Wednesday"
5 -> "Thursday"
6 -> "Friday"
7 -> "Saturday"
else -> "Time has stopped"
})
}
LocalDate.now(ZoneId.of("America/Detroit")).getDayOfWeek()
<string-array name="title_day_of_week">
<item>日</item> <!-- sunday -->
<item>月</item> <!-- monday -->
<item>火</item>
<item>水</item>
<item>木</item>
<item>金</item>
<item>土</item> <!-- saturday -->
</string-array>
fun String.getDayOfWeek(context: Context, format: String): String {
val date = SimpleDateFormat(format, Locale.getDefault()).parse(this)
return date?.getDayOfWeek(context) ?: "unknown"
}
fun Date.getDayOfWeek(context: Context): String {
val c = Calendar.getInstance().apply { time = this@getDayOfWeek }
return context.resources.getStringArray(R.array.title_day_of_week)[c[Calendar.DAY_OF_WEEK] - 1]
}
// get current day
val currentDay = Date().getDayOfWeek(context)
// get specific day
val dayString = "2021-1-4"
val day = dayString.getDayOfWeek(context, "yyyy-MM-dd")