【发布时间】:2017-03-20 20:21:12
【问题描述】:
我有一个时间文本框,它以字符串形式输入,我必须将其转换为在数字和 AM 或 PM 之间有空格的格式。
例如:5:00 PM 必须转换为 5:00 PM
【问题讨论】:
-
您尝试过任何方法吗?这不是代码编写服务。发布MCVE。
我有一个时间文本框,它以字符串形式输入,我必须将其转换为在数字和 AM 或 PM 之间有空格的格式。
例如:5:00 PM 必须转换为 5:00 PM
【问题讨论】:
这是一个使用日期/时间格式功能的示例。
请注意,如果输入的格式不正确,它将引发解析错误。
如果 AM/PM 段保证为大写,则可以删除 toUpperCase() 调用。
package com.stackoverflow.q42913242;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
@SuppressWarnings("javadoc")
public class Answer {
static final DateTimeFormatter FROM_PATTERN = DateTimeFormatter.ofPattern("h:mma");
static final DateTimeFormatter TO_PATTERN = DateTimeFormatter.ofPattern("h:mm a");
public static void main(String[] args) {
System.out.println(convert("5:00pm"));
System.out.println(convert("12:00AM"));
}
public static String convert(String input) {
final LocalTime localTime = LocalTime.parse(input.toUpperCase(), FROM_PATTERN);
return localTime.format(TO_PATTERN);
}
}
【讨论】:
你可以使用子字符串,例如:
String time = "5:00PM";
String newTime = time.substring(0,time.length()-2) + " " + time.substring(time.length()-2);
【讨论】: