CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 75

75

Chương 2: Thao tác dữ liệu

}

}

7.

7.

T o ngày và gi t chu i

ờ ừ

T o ngày và gi t chu i

ờ ừ

Bạn cần tạo một thể hiện

System.DateTime

mô tả giờ, ngày được chỉ định trong

một chuỗi.

Sử dụng phương thức

Parse

hoặc

ParseExact

của lớp

DateTime

.

Có nhiều cách mô tả ngày, giờ; ví dụ 1st June 2004, 1/6/2004, 6/1/2004, 1-Jun-2004 cùng chỉ
một ngày; 16:434:43 PM cùng chỉ một giờ. Lớp

DateTime

cung cấp phương thức tĩnh

Parse

rất linh hoạt, cho phép tạo thể hiện

DateTime

từ nhiều cách mô tả khác nhau trong

chuỗi.
Phương thức

Parse

rất mạnh trong việc tạo đối tượng

DateTime

từ một chuỗi cho trước. Nó có

thể xử lý một chuỗi chỉ chứa một phần thông tin hay chứa thông tin sai, và thay thế các giá trị
thiếu bằng các giá trị mặc định. Ngày mặc định là ngày hiện tại, giờ mặc định là 12:00:00
AM
. Nếu sau mọi cố gắng,

Parse

không thể tạo đối tượng

DateTime

, nó sẽ ném ngoại lệ

System.FormatException

. Ví dụ sau minh họa tính linh hoạt của

Parse

:

// 01/09/2004 12:00:00 AM

DateTime dt1 = DateTime.Parse("Sep 2004");

// 05/09/2004 02:15:33 PM

DateTime dt2 = DateTime.Parse("Sun 5 September 2004 14:15:33");

// 05/09/2004 12:00:00 AM

DateTime dt3 = DateTime.Parse("5,9,04");

// 05/09/2004 02:15:33 PM

DateTime dt4 = DateTime.Parse("5/9/2004 14:15:33");

// 07/10/2004 02:15:00 PM (giả sử ngày hiện tại là 07/10/2004)

DateTime dt5 = DateTime.Parse("2:15 PM");

Phương thức

Parse

linh hoạt và có thể tự sửa lỗi. Tuy nhiên, mức độ linh hoạt này không cần

thiết trong trường hợp bạn muốn bảo đảm các chuỗi phải theo một định dạng nhất định. Khi
đó, sử dụng phương thức

ParseExact

thay cho

Parse

. Dạng đơn giản nhất của

ParseExact

nhận ba đối số: chuỗi chứa ngày giờ, chuỗi định dạng xác định cấu trúc mà chuỗi chứa ngày
giờ phải tuân theo, và một tham chiếu

IFormatProvider

cung cấp thông tin đặc thù về bản địa.

Nếu

IFormatProvider

null

, thông tin về bản địa của tiểu trình (thread) hiện hành sẽ được

sử dụng.
Nếu ngày giờ trong chuỗi đang xét không đúng với định dạng quy định,

ParseExact

sẽ ném

ngoại lệ

System.FormatException

. Chuỗi định dạng được sử dụng tương tự như khi bạn chỉ

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.