java - 无法更改 12:00(午后)之后的上午/下午时间
问题描述
我如何将 24 小时格式与 AM/PM 一起转换为 12 小时,我检查了文章以及 stackoverflow 但问题是字符串是否为“12:43”(下午时间),我将其转换为 12 小时然后它显示“ 12:43 AM”,但它应该显示“12:43 PM”。下面是我写的java代码。
MainActivity.Java
public class PrayerActivity extends AppCompatActivity {
TextView result;
String fetch="12:43"
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
result=findViewById(R.id.result);
Date dateCode = null;
String formatTwelve;
String resultsAfter;
final SimpleDateFormat code12Hours = new SimpleDateFormat("hh:mm");
try {
dateCode = code12Hours.parse(fetch);
} catch (ParseException e) {
e.printStackTrace();
}
formatTwelve = code12Hours.format(dateCode);
if (formatTwelve.equals(fetch)) {
resultsAfter= formatTwelve + " AM";
} else {
resultsAfter= formatTwelve + " PM";
}
result.setText(resultsAfter);
}}
解决方案
public static void main(String[] args) {
String[] stringDates = { "12:43", "14:00", "10:00" };
for (String dateString : stringDates) {
// Input 24 HRS
LocalTime localTime = LocalTime.parse(dateString, DateTimeFormatter.ofPattern("HH:mm", Locale.ENGLISH));
// Output 12 hrs
System.out.println(localTime.format(DateTimeFormatter.ofPattern("hh:mm a", Locale.ENGLISH)));
}
}
输出
12:43 PM
02:00 PM
10:00 AM
推荐阅读
- python - 给定股票列表,从循环创建不同的数据框
- cors - Access-Control-Allow-Method 被神秘地重写
- r - 有没有更好的方法在 R 中写这个 if-else 语句?
- r - 按组将新的col添加到具有最大值的df
- python - 删除 CountVectorizer 中单次出现的单词
- node.js - 尝试执行 POST 方法时如何修复此 Sequelize Database 错误?
- android - 使用谷歌地图、模型和可观察实现搜索视图的最佳方法
- sql-server - T-SQL 作业调度程序
- javascript - 对具有文件类型输入的多部分表单的 HTTPS POST 请求
- reactjs - 没有功能的 Redux Reducer 构建对象