How to get day,month,year from String date?

前端 未结 5 1097
佛祖请我去吃肉
佛祖请我去吃肉 2021-01-02 06:27

I have a date on String, like this:

String date=\"25.07.2007\";

And I want to divide it to:

String day;
String month;
String yea         


        
相关标签:
5条回答
  • 2021-01-02 06:28
    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];
    
    0 讨论(0)
  • 2021-01-02 06:29
    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];
        }
    
    }
    
    0 讨论(0)
  • 2021-01-02 06:40

    One way to split a string in Java is to use .split("regex") which splits a string according to the pattern provided, returning a String array.

    String [] dateParts = date.split(".");
    String day = dateParts[0];
    String month = dateParts[1];
    String year = dateParts[2];
    

    To get current date: You can also change the format of the date by changing the values passed to SimpleDateFormat. Don't forget the imports.

      DateFormat dateFormater = new SimpleDateFormat("dd/MM/yy HH:mm:ss");
      Date date = new Date();
    
    0 讨论(0)
  • 2021-01-02 06:46

    java.time

    The modern way is to use the Android version of the back-port of the java.time framework built into Java 8 and later.

    First, parse the input string into a date-time object. The LocalDate class represents a date-only value without time-of-day and without time zone.

    String input = "25.07.2007";
    DateTimeFormatter formatter = DateTimeFormatter.ofPattern( "MM.dd.yyyy" );
    LocalDate localDate = LocalDate.parse( input , formatter );
    

    Now you can ask the LocalDate for its values.

    int year = localDate.getYear();
    int month = localDate.getMonthValue();
    int dayOfMonth = localDate.getDayOfMonth();
    

    You can use the handy Month enum to localize the name of the month.

    String monthName = localDate.getMonth().getDisplayName( TextStyle.FULL , Locale.CANADA_FRENCH );
    
    0 讨论(0)
  • 2021-01-02 06:47

    Try this...

    String dateArr[] = date.split(".");
    String day = dateArr[0];
    String month = dateArr[1];
    String year = dateArr[2];
    

    or

    String day = date.substring(0,2);
    String month = date.substring(3,5);
    String year = date.substring(6,10);
    

    To get the current date...

    Date currentDate = Calendar.getInstance().getTime();
    

    To get day, month and year from current date..

    int day = currentDate.get(Calendar.DAY_OF_MONTH);
    int month = currentDate.get(Calendar.MONTH);
    int year = currentDate.get(Calendar.YEAR);
    

    Month starts at 0 here...

    0 讨论(0)
提交回复
热议问题