问题描述
我如何将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);
}}
解决方法
date store item price sales days_since
0 2013-02-01 59 22154 999.00 1.0 NaN
1 2013-03-01 25 2552 899.00 1.0 0
2 2013-05-01 25 2552 899.00 -1.0 1
3 2013-06-01 25 2554 1709.05 1.0 0
4 2013-01-15 25 2555 1099.00 1.0 0
输出
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)));
}
}
,
您所要做的就是使用"h:mm a"
或"hh:mm aa"
来获取更多详细信息或代码,您可以点击此gist链接以获得更好的理解。
try {
String timeLong = "2020-10-08 06:06:30";
String timeShort = "16:06 AM";
SimpleDateFormat formatLong = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss",Locale.US);
SimpleDateFormat formatShort = new SimpleDateFormat("hh:mm aa",Locale.US);
Log.v("out",formatShort.format(formatLong.parse(timeLong)));
Log.v("out",formatShort.format(formatShort.parse(timeShort)));
} catch (ParseException e) {
e.printStackTrace();
}
输出: 上午06:06 下午04:06