当前位置: 首页 > 知识库问答 >
问题:

编写一个方法,以24小时格式输入时间(1430),以12小时格式返回时间(2:30pm)

乐正焕
2023-03-14

因此,我试图使用SimpleDateFormat获取用户输入,但我不断得到错误,线程“main”java.lang.IllegalArgumentException:无法将给定对象格式化为日期

不确定如何让字符串接受信息并转换它,或者是否可以这样做。任何能引导我走向正确方向的评论都将不胜感激。

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class takeTime {


    public static void main(String[] args) {


        Scanner reader = new Scanner(System.in);

        System.out.print( "Please enter a time: " );
        String now = reader.nextLine();
        SimpleDateFormat format = new SimpleDateFormat("h:mm a");
        System.out.println( format.format(now));
    }

}

共有1个答案

萧亦
2023-03-14

您需要首先将来自用户的输入转换为日期

Scanner reader = new Scanner(System.in);

System.out.print( "Please enter a time: " );
String now = reader.nextLine();
Date date = new SimpleDateFormat("HHmm").parse(now);
SimpleDateFormat format = new SimpleDateFormat("h:mm a");
System.out.println( format.format(date));
 类似资料:
  • 问题内容: 在我的应用程序中,我想将给定的CDT格式的24小时字符串转换为CDT格式的12小时的字符串,如何将给定的24小时格式的字符串转换为12小时的格式的字符串? 问题答案: 您可以尝试使用对象转换时间格式。 这是SimpleDateFromat 的javadoc 链接。

  • 问题内容: 当前时间显示为13:35 PM, 但是我想以AM / PM显示为12小时格式,即1:35 PM而不是13:35 PM 当前代码如下 问题答案: 最简单的方法,通过使用最新模式得到它- ,其中 -上午/下午的小时数(1-12) -小时 -上午/下午标记 程式码片段:

  • 我正在使用TextView设置日期和时间与日期名称,但时间显示在24小时,我想设置在12小时格式。

  • 问题内容: 当前返回: ‘25:59:59’ 我希望它返回: ‘01:59:59’ 我知道一个简单的问题,但我不知道如何告诉MySQL这样做而不是25小时后返回。有任何想法吗? 问题答案: 不知道这是否是最好的解决方案,但似乎可行:

  • 问题内容: sql server 2000表之一中具有以下格式的日期值 如何将上述格式的数据值转换为24小时日期格式,如下所示 问题答案: 试试这个: 首先将日期转换为,然后您可以按以下方式进行操作:

  • 问题内容: 您如何以12小时格式(AM / PM)显示JavaScript日期时间对象? 问题答案: