Dart:
Tính toán ngày trong tương lai hoặc quá khứ
Làm thế nào:
Dart cung cấp sự hỗ trợ mạnh mẽ cho việc thao tác với ngày tháng thông qua lớp DateTime
của mình. Dưới đây là cách bạn có thể tính toán ngày trong tương lai hoặc quá khứ bằng Dart gốc, không cần đến thư viện bên thứ ba.
Tính toán Ngày Tương Lai
Để tính toán một ngày trong tương lai, bạn tạo một đối tượng DateTime
và sử dụng phương thức add
với thời lượng mong muốn.
DateTime today = DateTime.now();
Duration tenDays = Duration(days: 10);
DateTime futureDate = today.add(tenDays);
print(futureDate); // Kết quả: 2023-04-21 14:22:35.123456 (ví dụ về kết quả, tùy thuộc vào ngày và thời gian hiện tại)
Tính toán Ngày Quá Khứ
Để tính toán một ngày trong quá khứ, bạn sử dụng phương thức subtract
trên một đối tượng DateTime
với thời lượng cần thiết.
DateTime today = DateTime.now();
Duration fifteenDaysAgo = Duration(days: 15);
DateTime pastDate = today.subtract(fifteenDaysAgo);
print(pastDate); // Kết quả: 2023-03-27 14:22:35.123456 (ví dụ về kết quả, tùy thuộc vào ngày và thời gian hiện tại)
Sử dụng Thư Viện Bên Thứ Ba
Mặc dù khả năng thao tác với ngày tháng bản địa của Dart rất mạnh mẽ, bạn có thể thấy mình cần thêm các thao tác cụ thể hơn, như phân tích cú pháp hoặc định dạng ngày tháng dễ dàng hơn, hoặc thực hiện các tính toán phức tạp. Trong những trường hợp như vậy, gói time
có thể rất hữu ích.
Đầu tiên, thêm time
vào phụ thuộc pubspec.yaml
của bạn:
dependencies:
time: ^2.0.0
Sau đó, bạn có thể sử dụng nó để thực hiện các phép tính tương tự với độ đọc cao hơn:
import 'package:time/time.dart';
void main() {
DateTime today = DateTime.now();
// Tính toán ngày tương lai
DateTime futureDate = today + 10.days;
print(futureDate); // Định dạng kết quả: 2023-04-21 14:22:35.123456
// Tính toán ngày quá khứ
DateTime pastDate = today - 15.days;
print(pastDate); // Định dạng kết quả: 2023-03-27 14:22:35.123456
}
Những ví dụ này minh họa cách thao tác cơ bản với ngày tháng trong Dart, bao gồm việc cộng và trừ thời gian vào hoặc từ một ngày hiện tại, cho thấy việc quản lý ngày tháng trong các ứng dụng Dart diễn ra một cách dễ dàng.