76
Chương 2: Thao tác dữ liệu
định chuỗi đại diện cho một đối tượng
DateTime
. Điều này có nghĩa là bạn có thể sử dụng cả
định dạng chuẩn lẫn định dạng tùy biến. Tham khảo phần tài liệu cho lớp
System.Globalization.DateTimeFormatInfo
trong tài liệu .NET Framework SDK để có thông
tin đầy đủ về tất cả các kiểu định dạng.
// Chỉ phân tích các chuỗi chứa LongTimePattern.
DateTime dt6 = DateTime.ParseExact("2:13:30 PM",
"h:mm:ss tt", null);
// Chỉ phân tích các chuỗi chứa RFC1123Pattern.
DateTime dt7 = DateTime.ParseExact(
"Sun, 05 Sep 2004 14:13:30 GMT",
"ddd, dd MMM yyyy HH':'mm':'ss 'GMT'", null);
// Chỉ phân tích các chuỗi chứa MonthDayPattern.
DateTime dt8 = DateTime.ParseExact("September 03",
"MMMM dd", null);
8.
8.
C ng, tr , so sánh ngày gi
ộ
ừ
ờ
C ng, tr , so sánh ngày gi
ộ
ừ
ờ
Bạn cần thực hiện các phép tính số học cơ bản hay phép so sánh trên ngày, giờ.
Sử dụng các cấu trúc
DateTime
và
TimeSpan
(hỗ trợ các toán tử số học và so sánh).
Một đối tượng
DateTime
mô tả một thời điểm xác định (chẳng hạn 4:15 AM, ngày 21 tháng 04
năm 1980), trong khi đối tượng
TimeSpan
mô tả một khoảng thời gian (chẳng hạn 2 giờ, 35
phút). Bạn có thể cộng, trừ, so sánh các đối tượng
TimeSpan
và
DateTime
.
Thực chất, cả
DateTime
và
TimeSpan
đều sử dụng tick để mô tả thời gian—1 tick bằng 100
nano-giây (một nano-giây bằng một phần tỷ (10
-9
) giây).
TimeSpan
lưu khoảng thời gian của
nó là số tick bằng khoảng thời gian đó,
DateTime
lưu số tick đã trôi qua kể từ 12:00:00 khuya
ngày 1 tháng 1 năm 0001 sau công nguyên. Cách tiếp cận này và việc sử dụng toán tử nạp
chồng giúp
DateTime
và
TimeSpan
dễ dàng hỗ trợ các phép tính số học và so sánh. Bảng 2.4
tóm tắt các toán tử mà hai cấu trúc này hỗ trợ.
Bảng 2.4 Các toán tử được cung cấp bởi DateTime và TimeSpan
Toán tử
TimeSpan
DateTime
Gán (
=
)
Vì
TimeSpan
là một cấu trúc nên
phép gán trả về một bản sao,
không phải một tham chiếu.
Vì
DateTime
là một cấu trúc nên
phép gán trả về một bản sao, không
phải một tham chiếu.