【问题标题】:Java: Divide string [duplicate]Java:分割字符串[重复]
【发布时间】:2020-11-02 11:32:17
【问题描述】:

我有以下字符串:String date = "01/03/2010"; 如何拆分此字符串以分别获取日期、时间和年份? 我想要这样的东西

String date = "1/3/2010";

int date = 1
int month = 3
int year = 2010

【问题讨论】:

  • 你标记了这个问题split。您认为应该使用String 类的什么方法?
  • 我不知道该怎么做
  • 谷歌:“Java 拆分字符串”:D
  • 需要两个部分才能到达您想要的位置。看String.split()方法和Integer.parseInt
  • 这能回答你的问题吗? How to split a string in Java

标签: java string split


【解决方案1】:
String string = "1/3/2010";
String[] parts = string.split("/");
String part1 = parts[0]; // 1
String part2 = parts[1]; //3
String part2 = parts[2]; //2010

【讨论】:

    【解决方案2】:

    你可以使用modern date-time API,如下图:

    import java.time.LocalDate;
    import java.time.format.DateTimeFormatter;
    
    public class Main {
        public static void main(String[] args) {
            String dateString = "01/03/2010";
            LocalDate date = LocalDate.parse(dateString, DateTimeFormatter.ofPattern("dd/MM/yyyy"));
            int day = date.getDayOfMonth();
            int month = date.getMonthValue();
            int year = date.getYear();
            System.out.println("Day: " + day + ", Month: " + month + ", Year: " + year);
        }
    }
    

    输出:

    Day: 1, Month: 3, Year: 2010
    

    通过 Trail: Date Time 了解有关现代日期时间 API 的更多信息。

    【讨论】:

      【解决方案3】:
      String dateString = "01/03/2010";
      DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy");
      LocalDate localDate = LocalDate.parse(dateString, formatter);
      
      int date = localDate.getDayOfMonth();
      int month = localDate.getMonthValue();
      int year = localDate.getYear();
      

      【讨论】:

        【解决方案4】:

        您可以使用LocalDate 而不是拆分String

        String date = "1/3/2010";
        
        // create a pattern that matches your date format
        DateTimeFormatter pattern = DateTimeFormatter.ofPattern("d/M/yyyy");
        
        LocalDate parsed = LocalDate.parse(date, pattern);
        

        然后可以获取解析后的LocalDate的各个字段。

        parsed.getDayOfMonth(); // 1
        parsed.getMonthValue(); // 3
        parsed.getYear());      // 2020
        

        【讨论】:

          猜你喜欢
          • 2016-02-14
          • 2013-01-27
          • 2015-01-01
          • 2011-08-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多