从字符串标记生成器获取值

时间:2012-11-01 12:46:37

标签: java string

我已经写了代码来吐出字符串,即生日,我想将它存储在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);
                }

2 个答案:

答案 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。