Làm thế nào để chuyển đổi chuỗi thành ngày tháng trong Java?



Bài viết này sẽ giới thiệu cho bạn các cách mà bạn có thể chuyển đổi Chuỗi thành Ngày trong Java và cũng cung cấp cho bạn một minh chứng thực tế kỹ lưỡng.

Bài viết này sẽ giới thiệu cho bạn các cách mà bạn có thể chuyển đổi Chuỗi thành Ngày trong và cũng cung cấp cho bạn một minh chứng thực tế kỹ lưỡng. Các gợi ý sau sẽ được đề cập trong bài viết này,

Vì vậy, chúng ta hãy bắt đầu,





Làm thế nào để chuyển đổi Chuỗi thành Ngày trong Java?

Chúng ta sẽ học ở đây “Cách chuyển đối tượng Chuỗi thành đối tượng Ngày” bằng cách sử dụng các kỹ thuật và thay đổi mã đơn giản. Cách tốt nhất để chuyển đổi là
Chuỗi đến ngày



SimpleDateFormat.parse (Chuỗi)

Ngày thành chuỗi

SimpleDateFormat.format (Ngày)


Phân tích cú pháp hoạt động theo nhiều cách khác nhau:

Tiếp tục với bài viết này về Chuyển đổi chuỗi thành ngày tháng trong Java,



Lấy ngày làm văn bản

Nếu bạn cần tháng dưới dạng văn bản có ba chữ cái, chúng tôi cần xác định 3 chữ ‘M’ được lấy làm giá trị tháng. Sau đó, giá trị của tháng được hiểu là văn bản như Tháng 10, Tháng 12, Tháng 6, v.v.

đầu bếp vs con rối vs ansible

Để có kết quả: 12-12-1998

Đây là mã để thể hiện giá trị Chuỗi ở định dạng Ngày.

Gói com.test.test import java.text.ParseException import java.text.SimpleDateFormat import java.util.Date public class TestDateExample1 {public static void main (String [] argv) {SimpleDateFormat formatter = new SimpleDateFormat ('dd-MMM- yyyy ') String dateInString = '12 -Dec-1998' try {Date date = formatter.parse (dateInString) System.out.println (date) System.out.println (formatter.format (date))} catch (ParseException e ) {e.printStackTrace ()}}}

Đầu ra:
Thứ sáu 12 tháng 12 00:00:00 MYT 1998
12-12-1998

Tiếp tục với bài viết này về Chuyển đổi chuỗi thành ngày tháng trong Java,

Để có được Ngày định dạng ở dạng “12/12/1988”

package com.test.date import java.text.ParseException import java.text.SimpleDateFormat import java.util.Date public class TestDateExample2 {public static void main (String [] argv) {SimpleDateFormat formatter = new SimpleDateFormat ('dd / MM / yyyy ') String dateInString = '12 / 12/1988' hãy thử {Date date = formatter.parse (dateInString) System.out.println (date) System.out.println (formatter.format (date))} catch (ParseException e ) {e.printStackTrace ()}}}

Java 8 sử dụng API ngày-giờ cung cấp các phương thức parse () để chuyển đổi giá trị Chuỗi thành giá trị Ngày-Giờ. Đối với các quy tắc phân tích cú pháp cơ bản, đã có các tiêu chuẩn được xác định để thể hiện giá trị Chuỗi cho ngày và giờ trong ISO_LOCAL_TIME hoặc ISO_LOCAL_DATE định dạng. Chúng tôi đặt mã định dạng trong khối ‘try’ và ‘catch’ sẽ ném ra một ngoại lệ trong thời gian chạy mỗi khi quy tắc đã xác định không được đáp ứng.
Ví dụ về phân tích cú pháp đơn giản là:

LocalDateTime dateTime = LocalDateTime.parse ('2018-05-05T11: 50: 55')

Tiếp tục với bài viết này về Chuyển đổi chuỗi thành ngày tháng trong Java,

Để thay đổi múi giờ

Để làm như vậy, chúng ta cần xác định các phương pháp phân tích cú pháp múi giờ được gọi là “ZonedDateTime” để thay đổi trực tiếp giá trị chuỗi thành định dạng ngày-giờ. Tất cả những gì bạn cần làm là xác định múi giờ mà bạn muốn ngày-giờ của mình. Ví dụ, ở đây chúng tôi cần ngày và giờ của chúng tôi trong khu vực Châu Âu. Vì vậy, chúng tôi xác định vùng tiemzone là Châu Âu / Paris bằng cách sử dụng phương thức 'ZonedDateTime' ::

ZonedDateTime zonedDateTime = ZonedDateTime.parse ('2015-05-05T10: 15: 30 + 01: 00 [Châu Âu / Paris]')

Bây giờ, chúng ta hãy đơn giản API ngày giờ chuyển đổi giá trị Chuỗi thành giá trị Ngày bằng SimpleDateFormat:

  1. Java đã giới thiệu một Ngày giờ Lệnh gọi API với phiên bản 8 của nó để đại diện cho các tham số Ngày giờ được gọi là “java.time”. Cách gọi cũ trong tất cả các phiên bản trước để biểu thị ngày là java.util.date.

Hãy xem cách thực sự chuyển đổi Chuỗi thành kiểu dữ liệu ngày và giờ cục bộ:

Phân tích cú pháp lệnh gọi API:

Nếu giá trị Chuỗi mà chúng ta cần chuyển đổi thành Ngày giờ loại có định dạng ISO-801 thì chúng ta có thể chỉ cần gọi các lớp DateFormat và SimpleDateFormat bằng cách sử dụng các phương thức parse ().

Một ví dụ cho cùng một:

import java.text.SimpleDateFormat import java.util.Date public class StringToDateExample1 {public static void main (String [] args) throws Exception {String sDate1 = '31 / 12/1998 'Date date1 = new SimpleDateFormat (' dd / MM / yyyy '). parse (sDate1) System.out.println (sDate1 +' t '+ date1)}}

Đầu ra:
31/12/1998 Thứ Năm ngày 31 tháng 12 00:00:00 IS 1998

import java.text.SimpleDateFormat import java.util.Date public class StringToDateExample2 {public static void main (String [] args) throws Exception {String sDate1 = '12 / 10/1988 'String sDate2 = '12 -Oct-1988' String sDate3 = '12 10, 1988 'String sDate4 =' Wed, 12 Oct 1988 'String sDate5 =' Wed, 10 Oct 1988 23:37:50 'String sDate6 = '31 -Dec-1998 23:37:50' SimpleDateFormat formatatter1 = new SimpleDateFormat ('dd / MM / yyyy') SimpleDateFormat formatter2 = new SimpleDateFormat ('dd-MMM-yyyy') SimpleDateFormat formatter3 = new SimpleDateFormat ('MM dd, yyyy') SimpleDateFormat formatter4 = new SimpleDate, MMMat yyyy ') SimpleDateFormat formatter5 = new SimpleDateFormat (' E, MMM dd yyyy HH: mm: ss ') SimpleDateFormat formatter6 = new SimpleDateFormat (' dd-MMM-yyyy HH: mm: ss ') Date date1 = formatter1.parse (sDate1) Date date2 = formatter2.parse (sDate2) Date date3 = formatter3.parse (sDate3) Date date4 = formatter4.parse (sDate4) Date date5 = formatter5.parse (sDate5) Date date6 = formatter6.parse (sDate6) System.out.println (sDat e1 + 't' + date1) System.out.println (sDate2 + 't' + date2) System.out.println (sDate3 + 't' + date3) System.out.println (sDate4 + 't' + date4) System.out. println (sDate5 + 't' + date5) System.out.println (sDate6 + 't' + date6)}}

Bằng cách sử dụng đoạn mã trên, bạn thực sự nhận được kết quả ở tất cả các định dạng được đề cập. Vì vậy, chúng tôi đã xác định các định dạng ngày tháng khác nhau trong một giá trị Chuỗi và sau đó chúng tôi phân tích cú pháp chúng bằng cách xác định lớp SimpleDateFormat. Sau khi hoàn thành, kết quả sẽ tạo ra ở tất cả các định dạng ngày giờ đã đề cập.

31/12/1998 Thứ Năm ngày 31 tháng 12 00:00:00 IS 1998

31-12-1998 Thứ Năm ngày 31 tháng 12 00:00:00 IS 1998

12 31 năm 1998 Thứ Năm ngày 31 tháng 12 00:00:00 IS 1998

Thu, Dec 31 1998 Thứ Năm ngày 31 tháng 12 00:00:00 IS 1998

Thu, Dec 31 1998 23:37:50 Thứ Năm ngày 31 tháng 12 23:37:50 IS 1998

31-12-1998 23:37:50 Thứ Năm ngày 31 tháng 12 23:37:50 IS 1998

Để biết thêm về định dạng ngày, hãy đọc tài liệu javadoc . Một số định dạng Chuỗi ngày hợp lệ được đề cập ở đây:
y = năm (yy hoặc yyyy)

M = tháng (MM)

cách sử dụng phần mềm sas

d = ngày trong tháng (dd)

h = giờ (0-12) (hh)

H = giờ (0-23) (HH)

m = phút tính bằng giờ (mm)

s = giây (ss)

S = mili giây (SSS)

z = văn bản múi giờ (ví dụ: Giờ chuẩn Thái Bình Dương…)

Z = múi giờ, độ lệch thời gian (ví dụ: -0800)

Ghi chú: Định nghĩa ‘Java.util.date’ là Date date = new date () đã không được dùng nữa. Vì vậy, hãy luôn sử dụng SimpleDateFormat với một Chuỗi đầu vào phù hợp mà bạn cần chuyển đổi.

Như vậy chúng ta đã đến phần cuối của bài viết này về 'Làm thế nào để chuyển đổi chuỗi thành ngày trong Java?'. Nếu bạn muốn tìm hiểu thêm,kiểm tra bởi Edureka, một công ty học trực tuyến đáng tin cậy. Khóa học đào tạo và cấp chứng chỉ Java J2EE và SOA của Edureka được thiết kế để đào tạo bạn về cả khái niệm Java cốt lõi và nâng cao cùng với các khung Java khác nhau như Hibernate & Spring.

Có một câu hỏi cho chúng tôi? Vui lòng đề cập đến vấn đề này trong phần bình luận của bài viết này và chúng tôi sẽ liên hệ lại với bạn trong thời gian sớm nhất.