如何从字符串日期获取日、月、年?

新手上路,请多包涵

我在 String 上有一个日期,如下所示:

String date="25.07.2007";

我想把它分成:

 String day;
String month;
String year;

做这个的最好方式是什么?

原文由 Gilad Neiger 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.5k
2 个回答

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

 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();

原文由 Turtle 发布,翻译遵循 CC BY-SA 4.0 许可协议

java.time

现代方法是使用 Java 8 及更高版本中内置的 java.time 框架的 后向端口Android 版本

首先,将输入字符串解析为日期时间对象。 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();

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

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

原文由 Basil Bourque 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题