使用 Java 从字符串中检索月、日和年值

2022-09-03 08:25:25

如何从字符串中提取日、月和年值 [如 18/08/2012]。我尝试使用SimpleDateFormat,但它返回一个Date对象,我观察到所有Get方法都被弃用了。有没有更好的方法来做到这一点?

谢谢


答案 1

就我个人而言,我会使用Joda Time,它使生活变得相当简单。特别是,这意味着您不必担心时区与a的时区 - 您只需解析为a,这是数据真正显示的内容。这也意味着您不必担心月份是从0开始:)CalendarSimpleDateFormatLocalDate

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
    }
}

答案 2

只需去 ,String.split()

String str[] = "18/08/2012".split("/");
int day = Integer.parseInt(str[0]);
int month = Integer.parseInt(str[1]);
..... and so on