一般情况下面你都不需要ParsePosition的,主要作用是可以区分几种不同的格式
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
String date="2004-07-21";
Date myDate=sdf.parse(date);
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
String date="2004-07-21";
Date myDate=sdf.parse(date);
现在用的是 parse(String text, ParsePosition pos),但是
我 不太明白ParsePosition()中的参数应该怎么写,
能告诉我ParsePosition()的作用吗
就当是改错,帮帮我把
initial index的值就是你需要解析的日期在提供的字符串中的开始位置。
error index是当解析日期出错时的位置。如果解析正确,其值为-1,否则是出错位置。Example:
String strDate = " 222024-07-18";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// 从第4个字符开始解析strDate
ParsePosition pp = new ParsePosition(4);
//pp.setIndex(0);
Date dt = sdf.parse(strDate, pp);此时可以得到正确的Date,Thu Jul 18 00:00:00 CST 2024
如果从其它位置开始解析,或者日期不对,或者就是null了。
如果strDate="2004-07-18",initial index当置为0。
可是我 问的是有没有一种方法,使("yyyy-MM-dd")格式转化成("yyyy,MM,dd")格式的
如果哪位前辈知道,告诉我好吗?
yyyy,MM,dd就可以了
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Avector {
public static void main(String args[]) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String date = "2004-07-21";
try {
Date myDate = sdf.parse(date);
sdf.applyPattern("yyyy,MM,dd");
System.out.println(sdf.format(myDate));
}
catch (Exception e) {
e.printStackTrace();
} }
}
现在用的是 parse(String text, ParsePosition pos),但是
我 不太明白ParsePosition()中的参数应该怎么写,
能告诉我ParsePosition()的作用吗
就当是改错,帮帮我把]你这个“parse(Sring) 已经不用了”是谁说的,JDK 1.4的Doc中可没说这个方法已经deprecated了