Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SimpleDataFormat在Android Kitkat中不起作用_Android_Android 4.4 Kitkat_Android Version - Fatal编程技术网

SimpleDataFormat在Android Kitkat中不起作用

SimpleDataFormat在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

这种方法不适用于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 >= 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 Nougat
Build.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日期和时间API
java.time
。和你一起工作真是太好了。