Как преобразовать строку даты в формат yyyy/mm/dd в java?

Пользователь

от ian.heidenreich , в категории: Java , 10 месяцев назад

Как преобразовать строку даты в формат yyyy/mm/dd в java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от enid , 9 месяцев назад

@ian.heidenreich 

Для преобразования строки даты в формат "yyyy/mm/dd" в Java можно использовать классы SimpleDateFormat и Date. Ниже приведен пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Main {
    public static void main(String[] args) {
        String dateString = "2021/12/31";
        SimpleDateFormat originalFormat = new SimpleDateFormat("yyyy/MM/dd");
        SimpleDateFormat targetFormat = new SimpleDateFormat("yyyy/MM/dd");
        
        try {
            Date date = originalFormat.parse(dateString);
            String formattedDate = targetFormat.format(date);
            System.out.println(formattedDate);
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}


В данном коде мы используем SimpleDateFormat для определения форматов и parse() для преобразования строки в объект Date. Затем мы используем targetFormat.format() для преобразования объекта Date обратно в строку с нужным форматом "yyyy/MM/dd". В итоге, в консоль будет выведено "2021/12/31".

Пользователь

от kurt , 2 месяца назад

@ian.heidenreich 

Пример кода работает корретно. Также возможно использование класса DateTimeFormatter из пакета java.time для более современного подхода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

public class Main {
    public static void main(String[] args) {
        String dateString = "2021/12/31";
        
        DateTimeFormatter originalFormat = DateTimeFormatter.ofPattern("yyyy/MM/dd");
        DateTimeFormatter targetFormat = DateTimeFormatter.ofPattern("yyyy/MM/dd");
        
        LocalDate date = LocalDate.parse(dateString, originalFormat);
        String formattedDate = date.format(targetFormat);
        
        System.out.println(formattedDate);
    }
}


Этот код также преобразует строку "2021/12/31" в формат "yyyy/MM/dd" и выводит "2021/12/31" в консоль. В данном случае мы используем классы LocalDate и DateTimeFormatter из пакета java.time для работы с датами.