java键盘输入日期类型实现代码
时间: 2023-06-01 20:06:36 浏览: 70
以下是Java实现键盘输入日期类型的代码示例:
```
import java.util.Scanner;
import java.text.SimpleDateFormat;
import java.util.Date;
public class KeyboardInputDate {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
System.out.print("请输入日期(yyyy-MM-dd):");
String strDate = scanner.nextLine();
try {
Date date = sdf.parse(strDate);
System.out.println("输入的日期为:" + sdf.format(date));
} catch (Exception e) {
System.out.println("日期格式不正确!");
}
scanner.close();
}
}
```
该程序通过Scanner类实现了从键盘读入字符串的功能,然后使用SimpleDateFormat类将字符串转换成日期对象,并最终输出转换后的日期。如果输入的日期格式不正确,程序会提示用户重新输入。
相关问题
键盘录入日期并格式化日期Java
好的,我可以帮您解答这个问题。
在Java中,可以使用SimpleDateFormat类来格式化日期。下面是一个示例代码,可以让用户从键盘录入日期并将其格式化:
```java
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class DateFormatExample {
public static void main(String[] args) throws ParseException {
// 创建一个Scanner对象,用于从控制台读取用户输入
Scanner scanner = new Scanner(System.in);
// 提示用户输入日期
System.out.print("请输入日期(格式为yyyy-MM-dd):");
String inputDate = scanner.nextLine();
// 定义日期格式
DateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd");
DateFormat outputFormat = new SimpleDateFormat("yyyy年MM月dd日");
// 将用户输入的字符串转换成日期对象
Date date = inputFormat.parse(inputDate);
// 格式化日期并输出
String outputDate = outputFormat.format(date);
System.out.println("格式化后的日期为:" + outputDate);
}
}
```
这段代码首先提示用户输入日期,并从控制台读取用户的输入。然后定义了两个日期格式化对象,一个用于将用户输入的字符串转换成日期对象,另一个用于将日期对象格式化成指定的日期格式。最后将日期格式化后的字符串输出到控制台上。
需要注意的是,如果用户输入的日期格式不符合指定的日期格式,那么程序将会抛出ParseException异常。
Java从键盘输入两个日期,计算两个日期间隔天数
可以直接使用Java内置的日期类和日期格式化类来实现。代码如下:
```java
import java.util.*;
import java.text.*;
public class Main {
public static void main(String[] args) {
// 创建日期格式化对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
// 从键盘读取第一个日期
Scanner scanner = new Scanner(System.in);
System.out.println("请输入第一个日期(格式为yyyy-MM-dd):");
String date1Str = scanner.nextLine();
Date date1 = sdf.parse(date1Str);
// 从键盘读取第二个日期
System.out.println("请输入第二个日期(格式为yyyy-MM-dd):");
String date2Str = scanner.nextLine();
Date date2 = sdf.parse(date2Str);
// 计算两个日期间隔天数
long interval = Math.abs(date2.getTime() - date1.getTime()) / (1000 * 60 * 60 * 24);
System.out.println("两个日期间隔天数为:" + interval);
} catch(ParseException ex) {
System.out.println("日期格式不正确!");
}
}
}
```
当然,这只是一个简单示例,实际应用中还需要考虑很多情况,比如输入日期的合法性、日期之间的大小顺序等等。