如何从字符串中提取Day,Month和Year值[如18/08/2012]。我尝试使用SimpleDateFormat,但它返回一个Date对象,并且观察到所有Get方法均已弃用。有什么更好的方法吗?
谢谢
我个人将使用Joda Time,它使生活变得更加简单。特别是,这意味着您不必担心Calendarvs的时区与a的时区SimpleDateFormat-只需解析为a LocalDate,这就是数据 真正 向您显示的内容。这也意味着您不必担心月份从0开始:)
Calendar
SimpleDateFormat
LocalDate
Joda Time使许多日期/时间操作变得更加愉快。
import java.util.*; import org.joda.time.*; import org.joda.time.format.*; public class Test { public static void main(String[] args) throws Exception { DateTimeFormatter formatter = DateTimeFormat.forPattern("dd/MM/yyyy") .withLocale(Locale.UK); LocalDate date = formatter.parseLocalDate("18/08/2012"); System.out.println(date.getYear()); // 2012 System.out.println(date.getMonthOfYear()); // 8 System.out.println(date.getDayOfMonth()); // 18 } }