我在String上有一个日期,就像这样:
String date="25.07.2007";
我想把它分成:
String day;
String month;
String year;
这样做的最佳方式是什么?
答案 0 :(得分:10)
在Java中拆分字符串的一种方法是使用.split(“regex”),它根据提供的模式拆分字符串,返回一个String数组。
String [] dateParts = date.split(".");
String day = dateParts[0];
String month = dateParts[1];
String year = dateParts[2];
获取当前日期: 您还可以通过更改传递给SimpleDateFormat的值来更改日期的格式。不要忘记进口。
DateFormat dateFormater = new SimpleDateFormat("dd/MM/yy HH:mm:ss");
Date date = new Date();
答案 1 :(得分:3)
现代方法是使用Java 8及更高版本中内置的Android version框架back-port的java.time。
首先,将输入字符串解析为日期时间对象。 LocalDate
类表示没有时间且没有时区的仅限日期的值。
String input = "25.07.2007";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern( "MM.dd.yyyy" );
LocalDate localDate = LocalDate.parse( input , formatter );
现在您可以向LocalDate
询问其值。
int year = localDate.getYear();
int month = localDate.getMonthValue();
int dayOfMonth = localDate.getDayOfMonth();
您可以使用方便的Month
枚举来本地化月份名称。
String monthName = localDate.getMonth().getDisplayName( TextStyle.FULL , Locale.CANADA_FRENCH );
答案 2 :(得分:0)
试试这个......
String dateArr[] = date.split(".");
String day = dateArr[0];
String month = dateArr[1];
String year = dateArr[2];
或强>
String day = date.substring(0,2);
String month = date.substring(3,5);
String year = date.substring(6,10);
获取当前日期......
Date currentDate = Calendar.getInstance().getTime();
从当前日期获取日,月和日..
int day = currentDate.get(Calendar.DAY_OF_MONTH);
int month = currentDate.get(Calendar.MONTH);
int year = currentDate.get(Calendar.YEAR);
月份从0开始......
答案 3 :(得分:0)
+--------+---------+-----------+---------------+--------------------+
| job_id | user_id | status | count_pending | count_pendinghired |
+--------+---------+-----------+---------------+--------------------+
| 1 | 1 | 'pending' | 2 | 3 |
| 1 | 2 | 'pending' | 1 | 1 |
+--------+---------+-----------+---------------+--------------------+
答案 4 :(得分:0)
public class DateTest {
/**
* @param args
* @throws ParseException
*/
public static void main(String[] args) throws ParseException {
String starDate = "7/12/1995 12:00:00 AM";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yyyy");
String newDateStr = simpleDateFormat.format(simpleDateFormat.parse(starDate));
String str[] = newDateStr.split("/");
String month = str[1];
String year = str[2];
}
}