作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
public class DateFormat {
public static void main(String[] args) {
int year;
int day;
int month;
String format = "";
System.out.println("Enter a year: " );
Scanner scanner = new Scanner(System.in);
year = scanner.nextInt();
Scanner scanner2 = new Scanner(System.in);
System.out.println("Enter a Month: " );
Scanner scanner1 = new Scanner(System.in);
month = scanner2.nextInt();
System.out.println("Enter a Day: ");
day = scanner1.nextInt();
System.out.println("Chose Format: (b/l/m) ");
Scanner scanner3 = new Scanner(System.in);
format = scanner3.nextLine();
}
}
我设法向用户询问年月日,询问用户首选哪种格式,但如何让程序按所选顺序显示结果?
如何为每个选项制定代码?
最后,如何确保任何单个输入的数字(例如 7)更改为 07?
这些甲酸盐称为大端、小端和中端、yyyy/mm/dd dd/mm/yyyy 甚至 mm/dd/yyyy。我正在尝试使格式从方法作为字符串返回以年、月、日和格式作为输入。
最佳答案
正如安德烈亚斯已经指出的那样,你应该这样做:
LocalDate date = LocalDate.of(year, month, day);
DateTimeFormatter dtf = DateTimeFormatter.ofPattern(getFormatter(format));
System.out.println(date.format(dtf));
private static String getFormatter(String format) {
switch (format){
case "b":
return "yyyy/MM/dd";
case "l":
return "dd/MM/yyyy";
case "m":
return "MM/dd/yyyy";
}
throw new IllegalArgumentException("wrong format choosen: " + format);
}
请记住,输入可能无效,例如 -1 或 35
关于java - 将用户日期数据输入格式化为大端、小端和中端等格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59804010/
我是一名优秀的程序员,十分优秀!