在java中将字符串分成3个不同的字符串变量

A R*_*A R 2 java string split substring date

我有一个String变量作为日期类型.例如: String myDate= "20130403"; 我想将它分成3种不同的日期格式,如下所示:

String myDay = "03";
String myMonth= "04";
String myYear= "2013";
Run Code Online (Sandbox Code Playgroud)

如何分离我的String的最快方法?

谢谢

Rol*_*yng 6

String yourDateString = "20130403";
SimpleDateFormat sd = new SimpleDateFormat("yyyyMMdd");
Date currentDate = sd.parse(yourDateString);

Calendar cal = Calendar.getInstance();
cal.setTime(currentDate);
String year = String.valueOf(cal.get(Calendar.YEAR)) + "";

// As Gyro said month start at 0 to 11.
String month = String.valueOf(cal.get(Calendar.MONTH)+1) + "";  

String day = String.valueOf(cal.get(Calendar.DAY_OF_MONTH)) + "";
Run Code Online (Sandbox Code Playgroud)

  • 不,这将为本月提供错误的答案,并且它无缘无故地使用字符串连接.(使用`String.valueOf`作为一种更清晰的转换方式.)即使在解决了这些问题之后,你也会在1月到9月或者小于10的那一天找到一位数的字符串.基本上,这不是什么被要求.它甚至不会在问题中得到样本字符串. (2认同)