
编写一个程序,接受命令行参数输入的一个日期格式为YYYYMMDD的字符串,
3个回答
展开全部
你好,我按照你的要求写的如下代码,可以直接运行
import java.util.Calendar;
import java.util.Scanner;
public class test {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
String str = s.next();
s.close();
if (str.length() != 8) {
System.out.println("日期长度错误:" + str);
return;
}
String yearStr = str.substring(0, 4);
String monthStr = str.substring(4, 6);
String dayStr = str.substring(6, 8);
try {
int year = Integer.valueOf(yearStr);
int month = Integer.valueOf(monthStr);
int day = Integer.valueOf(dayStr);
Calendar c = Calendar.getInstance();
c.set(year, month, day);
if (year != c.get(Calendar.YEAR) || month != c.get(Calendar.MONTH)
|| day != c.get(Calendar.DATE)) {
System.out.println("日期越界错误:" + str);
return;
}
System.out.println("日期格式正确:" + str);
} catch (Exception e) {
System.out.println("日期内容错误:" + str);
}
}
}
import java.util.Calendar;
import java.util.Scanner;
public class test {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
String str = s.next();
s.close();
if (str.length() != 8) {
System.out.println("日期长度错误:" + str);
return;
}
String yearStr = str.substring(0, 4);
String monthStr = str.substring(4, 6);
String dayStr = str.substring(6, 8);
try {
int year = Integer.valueOf(yearStr);
int month = Integer.valueOf(monthStr);
int day = Integer.valueOf(dayStr);
Calendar c = Calendar.getInstance();
c.set(year, month, day);
if (year != c.get(Calendar.YEAR) || month != c.get(Calendar.MONTH)
|| day != c.get(Calendar.DATE)) {
System.out.println("日期越界错误:" + str);
return;
}
System.out.println("日期格式正确:" + str);
} catch (Exception e) {
System.out.println("日期内容错误:" + str);
}
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询