importjava.util.*;importjava.text.*;classInput{bytebuf[]=newbyte[50];Stringstr;Datedate=null;SimpleDateFormatdf=newSimpleDateFormat("yyyy/mm/dd");publicvoidsetDate(){Syst...
import java.util.*;
import java.text.*;
class Input
{
byte buf[]=new byte[50];
String str;
Date date=null;
SimpleDateFormat df=new SimpleDateFormat("yyyy/mm/dd");
public void setDate()
{
System.out.println("请输入年月日,格式为:yyyy-mm-dd:");
try
{
System.in.read(buf);
str=new String(buf,0);
date=df.parse(str);
}
catch(Exception e){}
}
public Date getDate()
{
return date;
}
}
public class DayTest
{
public static void main(String[] args)
{
Input input=new Input();
input.setDate();
Date date=input.getDate();
System.out.println(date);
}
}
得到月份总是不对,好像基本都打印出的是一月份。
补充一个问题,在转化成Date型后怎么截取它的年份,我知道可以用date.getYear()方法,但这个还要加上1900,并且java中好像说这个已经过时了,所以请问有什么其它方法呀,我是新手,不要说得太复杂呀。谢谢。
还有System.out.println("请输入年月日,格式为:yyyy-mm-dd:"); 这个应该过System.out.println("请输入年月日,格式为:yyyy/mm/dd:"); 发贴时没注意,请不要说我输入格式错了。
我试过了,一楼的朋友说的不行呀。
展开