簡體   English   中英

如何從字符串日期獲取日,月,年?

[英]How to get day,month,year from String date?

我在String上有一個日期,如下所示:

String date="25.07.2007";

我想把它分成:

String day;
String month;
String year;

做這個的最好方式是什么?

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

java.time

現代的方法是使用Java版及更高版本內置的java.time框架的后端口Android版本

首先,將輸入字符串解析為日期時間對象。 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枚舉來本地化Month的名稱。

String monthName = localDate.getMonth().getDisplayName( TextStyle.FULL , Locale.CANADA_FRENCH );

試試這個...

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開始......

date.split(".") will not work
Split methods takes regex as parameter. For regex "." means any character. Instead we have to pass "\\." as parameter.

String [] dateParts = date.split("\\.");
String day = dateParts[0];
String month = dateParts[1];
String year = dateParts[2];
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];
    }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM