SimpleDataFormat在Android Kitkat中不起作用
这种方法不适用于Android Kitkat,但适用于Android OreoSimpleDataFormat在Android Kitkat中不起作用,android,android-4.4-kitkat,android-version,Android,Android 4.4 Kitkat,Android Version,这种方法不适用于Android Kitkat,但适用于Android Oreo public String parseDateToTime(String time) { String inputPattern = "dd/MM/yyyy hh:mm aa"; String outputPattern = "hh:mm aa"; SimpleDateFormat inputFormat = null; if (Build.VERSION.SDK_INT &g
public String parseDateToTime(String time) {
String inputPattern = "dd/MM/yyyy hh:mm aa";
String outputPattern = "hh:mm aa";
SimpleDateFormat inputFormat = null;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
inputFormat = new SimpleDateFormat(inputPattern);
}
SimpleDateFormat outputFormat = null;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
outputFormat = new SimpleDateFormat(outputPattern);
}
Date date = null;
String str = null;
try {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
date = inputFormat.parse(time);
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
str = outputFormat.format(date);
}
} catch (ParseException e) {
e.printStackTrace();
}
Log.d("timecon",str);
代码的和平不会作为版本检查执行。因为AndroidKitkat比Android N(牛轧糖)旧。
Build.VERSION.SDK_INT >= Build.VERSION_CODES.N.
它将仅在N个及以上操作系统设备上执行 您在代码中使用了
Build.VERSION\u CODES.N
这意味着AndroidNougat,因此,当AndroidKitkat比AndroidN旧时,Build.VERSION.SDK_INT>=Build.VERSION.SDK_code.N
将不为真,但因为AndroidOreo比Android NougatBuild.VERSION.SDK_INT>=Build.VERSION_code.N
更新,所以if块中的代码将为真
您可以查看android版本代码常量。确保您已导入此
import java.text.simpleDataFormat
而不是导入android.icu.text.simpleDataFormatimport-android.icu.text.SimpleDateFormat我用过这个,你需要用这个import-java.text.SimpleDateFormat代码>选中此选项,您总是排除KitKat<代码>输入格式> />代码>和代码>输出格式>代码>始终是空的,因为这个条件<代码>(Buff.dv.SDKInt>=Bug,版本号.n)这样代码将跳过除了Butt之外的尝试,考虑扔掉长期过时和臭名昭著的麻烦<代码> SimpleDateFormat < /代码>和朋友,并添加到Android项目中,以便使用现代java日期和时间APIjava.time
。和你一起工作真是太好了。