android - SimpleDateFormat 在 Android Kitkat 中不起作用
问题描述
此方法不适用于 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);
解决方案
代码的和平不会作为您的版本检查执行。因为 Android Kitkat比android N (Nougat) 更老。
Build.VERSION.SDK_INT >= Build.VERSION_CODES.N.
它将仅在 N 及以上 OS 设备上执行。
推荐阅读
- excel - xlUp - 选定值 1 - 和 xlDown - 选定值 4121 - vba fordrop downlist 而不是 -12
- java - 在组归约上按键触发嵌套结构的错误序列化
- html - Flexbox row-reverse 打破 IE 11 上的对齐项
- unit-testing - 为什么我不能在 jest.Mock 中模拟一个函数(必须在 spyOn 上使用 .mockImplementation)?
- java - Nuxeo 与 Spring Boot 的集成
- c# - Unity C# 碰撞
- java - 使用自定义对象的另一个 ArrayList 字段对 ArrayList 进行排序
- javascript - 在视图中加载变量,然后从组件 Vue.js 中使用它们
- c# - 如果消息接收模式是 Azure 服务总线中的 ReceiveAndDelete,那么消息的 TTL 是多少?
- sitecore - Sitecore 9 JSS 活动和目标