Подтвердить что ты не робот

Как преобразовать строку java в объект Date

У меня есть строка

String startDate = "06/27/2007";

теперь мне нужно получить объект Date. Мой объект DateObject должен иметь то же значение, что и для startDate.

Я так делаю

DateFormat df = new SimpleDateFormat("mm/dd/yyyy");
Date startDate = df.parse(startDate);

Но вывод находится в формате

Янв 27 00:06:00 PST 2007.

4b9b3361

Ответ 1

Вы в основном эффективно конвертировали свою дату в формате строки в объект даты. Если вы распечатаете его в этот момент, вы получите стандартное форматирование даты. Чтобы отформатировать его после этого, вам нужно будет преобразовать его обратно в объект даты с указанным форматом (уже указанным ранее)

String startDateString = "06/27/2007";
DateFormat df = new SimpleDateFormat("MM/dd/yyyy"); 
Date startDate;
try {
    startDate = df.parse(startDateString);
    String newDateString = df.format(startDate);
    System.out.println(newDateString);
} catch (ParseException e) {
    e.printStackTrace();
}

Ответ 2

"mm" означает фрагмент "минуты" даты. Для части "месяцев" используйте "ММ".

Итак, попробуйте изменить код на:

DateFormat df = new SimpleDateFormat("MM/dd/yyyy"); 
Date startDate = df.parse(startDateString);

Изменить: Объект DateFormat содержит определение форматирования даты, а не объект Date, который содержит только дату без касания форматирования. Говоря о форматировании, мы говорим о создании строкового представления даты в определенном формате. См. Этот пример:

    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.util.Date;

    public class DateTest {

        public static void main(String[] args) throws Exception {
            String startDateString = "06/27/2007";

            // This object can interpret strings representing dates in the format MM/dd/yyyy
            DateFormat df = new SimpleDateFormat("MM/dd/yyyy"); 

            // Convert from String to Date
            Date startDate = df.parse(startDateString);

            // Print the date, with the default formatting. 
            // Here, the important thing to note is that the parts of the date 
            // were correctly interpreted, such as day, month, year etc.
            System.out.println("Date, with the default formatting: " + startDate);

            // Once converted to a Date object, you can convert 
            // back to a String using any desired format.
            String startDateString1 = df.format(startDate);
            System.out.println("Date in format MM/dd/yyyy: " + startDateString1);

            // Converting to String again, using an alternative format
            DateFormat df2 = new SimpleDateFormat("dd/MM/yyyy"); 
            String startDateString2 = df2.format(startDate);
            System.out.println("Date in format dd/MM/yyyy: " + startDateString2);
        }
    }

Вывод:

Date, with the default formatting: Wed Jun 27 00:00:00 BRT 2007
Date in format MM/dd/yyyy: 06/27/2007
Date in format dd/MM/yyyy: 27/06/2007

Ответ 3

    try 
    {  
      String datestr="06/27/2007";
      DateFormat formatter; 
      Date date; 
      formatter = new SimpleDateFormat("MM/dd/yyyy");
      date = (Date)formatter.parse(datestr);  
    } 
    catch (Exception e)
    {}

месяц - ММ, минуты - мм..

Ответ 4

Краткая версия:

String dateStr = "06/27/2007";
DateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");
Date startDate = (Date)formatter.parse(dateStr);  

Добавьте блок try/catch для ParseException, чтобы гарантировать, что формат является допустимой датой.

Ответ 5

var startDate = "06/27/2007";
startDate = new Date(startDate);

console.log(startDate);