如何从字符串日期获取日,月,年?java.time

2022-09-04 07:57:06

我在String上有一个约会,像这样:

String date="25.07.2007";

我想把它分成:

String day;
String month;
String year;

最好的方法是什么?


答案 1

在Java中拆分字符串的一种方法是使用.split(“regex”),它根据提供的模式拆分字符串,返回一个字符串数组。

String [] dateParts = date.split(".");
String day = dateParts[0];
String month = dateParts[1];
String year = dateParts[2];

获取当前日期:还可以通过更改传递给 SimpleDateFormat 的值来更改日期的格式。不要忘记进口。

  DateFormat dateFormater = new SimpleDateFormat("dd/MM/yy HH:mm:ss");
  Date date = new Date();

答案 2

java.time

现代方法是使用 Java 8 及更高版本中内置的 java.time 框架的 Android 版本的 back-port

首先,将输入字符串解析为日期时间对象。该类表示一个仅日期值,不带时间,也不带时区。LocalDate

String input = "25.07.2007";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern( "MM.dd.yyyy" );
LocalDate localDate = LocalDate.parse( input , formatter );

现在,您可以向 LocalDate 询问其值。

int year = localDate.getYear();
int month = localDate.getMonthValue();
int dayOfMonth = localDate.getDayOfMonth();

您可以使用方便的月份枚举来本地化月份的名称。

String monthName = localDate.getMonth().getDisplayName( TextStyle.FULL , Locale.CANADA_FRENCH );

推荐