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