Как преобразовать строку мм / дд / гг в «понедельник 7 января» - PullRequest
0 голосов
/ 02 марта 2019

У меня есть файл базы данных со значениями мм / дд / гг для событий, и я хочу отобразить дату как нечто вроде «День (слово), день (число), месяц (слово)».

01/07/19 в
Понедельник 4 января или понедельник 4 января или что-то подобное.

Ответы [ 2 ]

0 голосов
/ 02 марта 2019

Вы можете использовать SimpleDateFormat для преобразования строки в дату, а затем преобразовать обратно в строку следующим образом:

     DateFormat format1 = new SimpleDateFormat("MM-dd-yyyy");
     Date date = format1.parse("01-01-2019");
     DateFormat format2 = new SimpleDateFormat("MMMMM dd, yyyy");
     String dateString = format2.format(date);
     System.out.println(dateString); //<- prints January 01, 2019

Как использовать SimpleDateFormat? Java предоставляет класс SimpleDateFormat, который позволяет форматировать и анализировать даты в соответствии с вашими требованиями.

Вы можете использовать вышеуказанные символы для указания формата - Например:

1)Требуемый формат даты: 2019.01.01 20:20:45 PST

Подходящим форматом даты будет указан- yyyy.MM.dd HH:mm:ss zzz

2) Требуемый формат даты: 09:30:00 AM 01-Jan-2019

Указан соответствующий формат датыбудет- hh:mm:ss a dd-MMM-yyyy

Совет: Будьте осторожны с заглавными буквами.Если вы перепутаете M с m, вы получите нежелательные результаты!

Давайте узнаем это на примере кода.

import java.text.SimpleDateFormat;
import java.util.Date;
public class TestDates_Format {
 public static void main(String args[]) {
  Date objDate = new Date(); // Current System Date and time is assigned to objDate
  System.out.println(objDate);
  String strDateFormat = "hh:mm:ss a dd-MMM-yyyy"; //Date format is Specified
  SimpleDateFormat objSDF = new SimpleDateFormat(strDateFormat); //Date format string is passed as an argument to the Date format object
  System.out.println(objSDF.format(objDate)); //Date formatting is applied to the current date
 }
}

Вывод:

Sat Mar 02 16:37:59 UTC 2019
04:37:59 PM 02-Mar-2019

Хорошего дня!

0 голосов
/ 02 марта 2019

Попробуйте что-то вроде этого:

LocalDate.of(2019, 3, 2).format(DateTimeFormatter.ofPattern("EEE dd MMM YYYY"))
...