有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何将日期字符串解析为整数变量?

我有一个String,格式如下:"dd-MM-yyyy"。我试图将字符串的dd部分保存到整数day变量中。我想对MMyyyy部分String做同样的事情。我可以想象,每当"/" char位于for循环中的当前索引时,使用for循环解析String来分离String

如何将包含日期的String分别拆分为日、月和年,并将其拆分为整数变量,以便进行操作?也许将这个String转移到一个Date对象会更容易,因为有一个成员方法或字段可以处理这个问题(只是一个想法)


共 (4) 个答案

  1. # 1 楼答案

    那么请具体说明你使用的语言

    基本上,每种语言都提供函数来解析字符串到日期,然后得到日期、月份和年份

    在JS中

    var d = new Date("dd-MM-yyyy")
    d.getDay();
    d.getMonth();
    d.getYear();
    

    同样在爪哇

    DateFormat df = new SimpleDateFormat("mm/dd/yyyy");
    Date startDate = df.parse(startDate);
    
  2. # 2 楼答案

    你可以用

        String dateStr = "14-08-2016"; 
        DateFormat formatter = new SimpleDateFormat("dd-MM-yyyy"); 
        Date date = (Date)formatter.parse(dateStr);
        System.out.println(date.getMonth()+1);
    

    使用Java8

        DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("dd-MM-yyyy");
        LocalDate parsedDate = LocalDate.parse(dateStr, formatter1);
        System.out.println(parsedDate.getMonth().getValue());
    
  3. # 3 楼答案

            String date = "13-08-2016";
            String[] values = date.split("-");
            int day = Integer.parseInt(values[0]);
            int month = Integer.parseInt(values[1]);
            int year = Integer.parseInt(values[2]);
    

    可以使用String.split(String regex)方法将日期解析为String的数组,然后将每个值转换为int

    JavaDoc:

    public String[] split(String regex) Splits this string around matches of the given regular expression. This method works as if by invoking the two-argument split method with the given expression and a limit argument of zero. Trailing empty strings are therefore not included in the resulting array.

    阅读更多信息:String.split

  4. # 4 楼答案

    你会发现String.split(String regex)方法对你的案例很有用

    因此,在您的情况下,您可以将字符串拆分并使用拆分部分:

    String str = "20-04-2016";
    String[] splitArray = str.split("-");
    int day = Integer.parseInt(splitArray[0]);
    int month = Integer.parseInt(splitArray[1]);
    int year = Integer.parseInt(splitArray[2]);