我已经写了代码来吐出字符串,即生日,我想将它存储在3个不同的vaiables中如何做到这一点。 (Mday = 1,Mmonth = 1,MYear = 2011)。我动态地获得了birtdate。我也在获得令牌中的值。
StringTokenizer st = new StringTokenizer(BirtDate, "/");
while (st.hasMoreElements()) {
String token = st.nextToken();
System.out.println("Token = " + token);
}
答案 0 :(得分:2)
StringTokenizer是为保持兼容性而保留的旧类 原因虽然在新代码中不鼓励使用它。建议 任何寻求此功能的人都使用String的split方法 或者改为java.util.regex包
请参阅http://docs.oracle.com/javase/6/docs/api/java/util/StringTokenizer.html
改为使用
String[] token = BirtDate.split("/")
答案 1 :(得分:0)
一种更好的方法是使用日期格式化程序和对象,如下所示:
DateFormat format = new SimpleDateFormat("MM/dd/yyyy");
Date date = format.parse("1/1/2012");
//Calendar cal = new GregorianCalendar();
Calendar cal = Calendar.getInstance();
cal.setTime(date);
int day = cal.get(Calendar.DAY_OF_MONTH);//You may want to add 1
int month = cal.get(Calendar.MONTH);
int year= cal.get(Calendar.YEAR);
请注意:月份从0开始,因此您可能需要添加1。