如何将日期字符串解析为整型变量?
我有一个String
它的格式如下:"dd-MM-yyyy"
。我试图将dd
部分字符串保存为一个整数day
变量。我想对String
的MM
和yyyy
部分也这样做。我可以想象,只要"/" char
位于for
循环中的当前索引处,就可以使用for循环来解析String
以分离String
。如何将日期字符串解析为整型变量?
如何将包含日期的String
分别分解为日期,月份和年份,并将其转换为整数变量以供我操作?或许将这个String
转换为Date
对象会使它变得更容易,这是由于成员方法或字段可以处理这个(只是一个想法)。
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:
公共字符串[]分裂(字符串正则表达式)拆分该字符串周围匹配给定正则表达式的 。此方法的工作方式如同调用 具有给定表达式的双参数拆分方法以及零参数的限制 。尾随的空字符串因此不包含在 的结果数组中。
更多在这里阅读:String.split
你会找到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);
这个问题有一个Java标签。请妥善编辑您的答案 –
@ cricket_007已编辑。 –
您可以使用
String dateStr = "14-08-2016";
DateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
Date date = (Date)formatter.parse(dateStr);
System.out.println(date.getMonth()+1);
与Java 8
DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("dd-MM-yyyy");
LocalDate parsedDate = LocalDate.parse(dateStr, formatter1);
System.out.println(parsedDate.getMonth().getValue());
我不认为这是一个重复的,但也许是一个不同的问题。 –
重复:[Java:从日期获取月整数](http://stackoverflow.com/q/7182996/642706)和[我想从Java日期获得年,月,日等...](http:// stackoverflow .com/q/9474121/642706)和[获取月份和年份的java日期问题](http://stackoverflow.com/q/13602552/642706)等等。 –