0

I have written the code to spit the string i.e birthdate,I want to store it in 3 different vaiables how to do it. (Mday=1,Mmonth=1,MYear=2011).I am getting birtdate dynamically.also I am getting values in token.

StringTokenizer st = new StringTokenizer(BirtDate, "/");
                while (st.hasMoreElements()) {
                    String token = st.nextToken();
                    System.out.println("Token = " + token);
                }
4

2 回答 2

2

StringTokenizer 是一个遗留类,出于兼容性原因保留,但不鼓励在新代码中使用它。建议任何寻求此功能的人改用 String 的 split 方法或 java.util.regex 包

请参阅http://docs.oracle.com/javase/6/docs/api/java/util/StringTokenizer.html

改为使用

String[] token = BirtDate.split("/")
于 2012-11-01T12:51:01.957 回答
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。

于 2012-11-01T12:51:24.073 回答