Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

วิธี Parse วันที่ใน JSP ด้วย <fmt:parseDate>

Tag <fmt:parseDate> แปลง String เป็น Date object ตาม pattern/format ที่กำหนด

Attributes

AttributeคำอธิบายRequiredDefault
valueDate string ที่จะ parseNoBody
typeDATE, TIME, หรือ BOTHNodate
dateStyleFULL, LONG, MEDIUM, SHORT, DEFAULTNodefault
timeStyleFULL, LONG, MEDIUM, SHORT, DEFAULTNodefault
patternCustom pattern (SimpleDateFormat pattern)No-
parseLocaleLocale สำหรับ parsingNoDefault locale
timeZoneTime zone ของวันที่NoDefault time zone
varVariable name เก็บ Date object ที่ parse ได้NoPrint to page
scopeScope ของ varNopage

ตัวอย่าง: Parse วันที่ไทย dd-MM-yyyy

<%@ taglib prefix="c" uri="https://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="https://java.sun.com/jsp/jstl/fmt" %>
<html>
<body>
    <h3>Date Parsing</h3>
    <c:set var="dateStr" value="20-10-2010"/>
    <fmt:parseDate value="${dateStr}" var="parsedDate" pattern="dd-MM-yyyy"/>
    <p>Parsed Date: <c:out value="${parsedDate}"/></p>
</body>
</html>

ผลลัพธ์

Date Parsing:
Parsed Date: Wed Oct 20 00:00:00 ICT 2010

Pattern Characters (SimpleDateFormat)

yYear2024
MMonth10, Oct, October
dDay of month20
HHour (0-23)14
hHour (1-12)02
mMinute30
sSecond59
aAM/PMPM
zTime zoneICT

ข้อควรระวัง

  • Pattern ต้อง match input string อย่างแม่นยำ
  • Parse ผิดจะ throw exception (จับได้ด้วย <c:catch>)
  • Time zone สำคัญสำหรับ date-time strings
  • Java 8+: ควรใช้ java.time.format.DateTimeFormatter ใน controller แทน