【问题标题】:Format time in java在java中格式化时间
【发布时间】:2017-03-20 20:21:12
【问题描述】:

我有一个时间文本框,它以字符串形式输入,我必须将其转换为在数字和 AM 或 PM 之间有空格的格式。

例如:5:00 PM 必须转换为 5:00 PM

【问题讨论】:

  • 您尝试过任何方法吗?这不是代码编写服务。发布MCVE

标签: java time format


【解决方案1】:

这是一个使用日期/时间格式功能的示例。

请注意,如果输入的格式不正确,它将引发解析错误。

如果 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);
    }
}

【讨论】:

    【解决方案2】:

    你可以使用子字符串,例如:

        String time = "5:00PM";
        String newTime = time.substring(0,time.length()-2) + " " + time.substring(time.length()-2);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-04
      • 2012-02-07
      • 1970-01-01
      相关资源
      最近更新 更多