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

Java 如何将日期字符串解析为整数变量?,java,string,date,Java,String,Date,我有一个字符串,其格式如下:“dd-MM-yyyy”。我试图将字符串的dd部分保存到整数day变量中。我想对字符串的MM和yyyy部分执行相同的操作。我可以想象,每当“/”字符位于for循环中的当前索引时,使用for循环来解析字符串 如何将包含日期的字符串分别拆分为日期、月份和年份,并将其拆分为整数变量,以便进行操作?也许将这个字符串传输到日期对象会更容易,因为有一个成员方法或字段可以处理这个问题(只是一个想法) 您可以使用String.split(String regex)方法将日期解析为St

我有一个
字符串
,其格式如下:
“dd-MM-yyyy”
。我试图将字符串的
dd
部分保存到整数
day
变量中。我想对
字符串的
MM
yyyy
部分执行相同的操作。我可以想象,每当
“/”字符
位于
for
循环中的当前索引时,使用for循环来解析
字符串

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

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

JavaDoc:

public String[]split(String regex)在匹配项周围拆分此字符串 给定正则表达式的。此方法通过调用 具有给定表达式和极限的双参数分裂方法 零的参数。因此,后面的空字符串不包括在 生成的数组


阅读更多信息:

您会发现
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]);

好的,请指定您使用的语言

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

在JS中

var d = new Date("dd-MM-yyyy")
d.getDay();
d.getMonth();
d.getYear();
同样在Java中

DateFormat df = new SimpleDateFormat("mm/dd/yyyy");
Date startDate = df.parse(startDate);
你可以用

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

这个问题有一个Java标记。请编辑你的答案appropriately@cricket_007已经编辑过了。我不认为这是一个重复的问题,也许是另一个问题。重复:还有更多。
    DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("dd-MM-yyyy");
    LocalDate parsedDate = LocalDate.parse(dateStr, formatter1);
    System.out.println(parsedDate.getMonth().getValue());