In some cases, we want to parse Time from string, which includes microseconds, or format a Date/Time to a string (with microseconds).
Here are some sample java code to work around this problem.
public class DateTimeUtil {
public static final String FORMAT_PATTERN = "yyyyMMddHHmmss.SSS000";
public static Date parse(String ds) throws Throwable {
String[] tokens = ds.split("\\.");
if (tokens.length != 2) {
throw new Exception("Invalid date string: " + ds);
}
int fractionalSecs = Integer.parseInt(tokens[1]) / 1000;
return new SimpleDateFormat("yyyyMMddHHmmss.SSS").parse(String.format("%s.%03d", tokens[0], fractionalSecs));
}
public static String format(Date date) {
return new SimpleDateFormat(FORMAT_PATTERN).format(date);
}
}
See also http://stackoverflow.com/questions/2132247/custom-date-format-cannot-be-parsed-java
No comments:
Post a Comment