[java] LocalDate를 문자열로 포맷하는 방법은 무엇입니까?
1988-05-05를 표시 할 때 date라는 LocalDate 변수가 있는데 이것을 1988 년 5 월 5 일로 인쇄되도록 변환해야합니다.
답변
Java 8의 새로운 LocalDate로 시작하면 SimpleDateFormat이 작동하지 않습니다. 내가 볼 수 있듯이 DateTimeFormatter, http://docs.oracle.com/javase/8/docs/api/java/ 를 사용해야합니다. time / format / DateTimeFormatter.html .
LocalDate localDate = LocalDate.now();//For reference
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd LLLL yyyy");
String formattedString = localDate.format(formatter);
1988 년 5 월 5 일을 인쇄해야합니다. 하루와 그 다음 달의 기간을 얻으려면 “dd’.LLLL yyyy”를 사용해야 할 수도 있습니다.
답변
다음과 같이 짧을 수 있습니다.
LocalDate.now().format(DateTimeFormatter.ofPattern("dd/MM/yyyy"));
답변
System.out.println(LocalDate.now().format(DateTimeFormatter.ofPattern("dd.MMMM yyyy")));
위의 답변은 오늘 그것을 보여줍니다.
답변
ProgrammersBlock 게시물의 도움으로 이것을 생각해 냈습니다. 내 요구는 약간 달랐습니다. 문자열을 가져 와서 LocalDate 객체로 반환해야했습니다. 이전 Calendar 및 SimpleDateFormat을 사용하는 코드를 받았습니다. 좀 더 최신 상태로 만들고 싶었습니다. 이것이 내가 생각해 낸 것입니다.
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
void ExampleFormatDate() {
LocalDate formattedDate = null; //Declare LocalDate variable to receive the formatted date.
DateTimeFormatter dateTimeFormatter; //Declare date formatter
String rawDate = "2000-01-01"; //Test string that holds a date to format and parse.
dateTimeFormatter = DateTimeFormatter.ISO_LOCAL_DATE;
//formattedDate.parse(String string) wraps the String.format(String string, DateTimeFormatter format) method.
//First, the rawDate string is formatted according to DateTimeFormatter. Second, that formatted string is parsed into
//the LocalDate formattedDate object.
formattedDate = formattedDate.parse(String.format(rawDate, dateTimeFormatter));
}
누군가 가이 작업을 수행하는 더 좋은 방법을 발견하면 입력을 추가하십시오.
답변
joda lib에 대해 LocalDate를 형식화하는 기본 제공 방법이 있습니다.
import org.joda.time.LocalDate;
LocalDate localDate = LocalDate.now();
String dateFormat = "MM/dd/yyyy";
localDate.toString(dateFormat);
아직없는 경우-build.gradle에 추가하십시오.
implementation 'joda-time:joda-time:2.9.5'
행복한 코딩! 🙂
답변
이 작업을 수행하는 가장 좋은 방법은 다음을 사용 SimpleDateFormat
하는 것입니다.
SimpleDateFormat sdf = new SimpleDateFormat("d MMMM YYYY");
Date d = new Date();
sdf.format(d);
변수에 날짜가 있음을 알았습니다.
sdf.format(variable_name);
건배.