Hướng Dẫn Và Ví Dụ Date Time Trong C# - Openplanning
Có thể bạn quan tâm
- Tất cả tài liệu
- Java
- Java Basic
- Java Collections Framework
- Java IO
- Java New IO
- Java Date Time
- Servlet/JSP
- Eclipse Tech
- SWT
- RCP
- RAP
- Eclipse Plugin Tools
- XML & HTML
- Java Opensource
- Java Application Servers
- Maven
- Gradle
- Servlet/Jsp
- Thymeleaf
- Spring
- Spring Boot
- Spring Cloud
- Struts2
- Hibernate
- Java Web Service
- JavaFX
- SWT
- Oracle ADF
- Android
- iOS
- Python
- Swift
- C#
- C/C++
- Ruby
- Dart
- Batch
- Database
- Oracle
- MySQL
- SQL Server
- PostGres
- Other Database
- Oracle APEX
- Report
- Client
- ECMAScript / Javascript
- TypeScript
- NodeJS
- ReactJS
- Flutter
- AngularJS
- HTML
- CSS
- Bootstrap
- OS
- Ubuntu
- Solaris
- Mac OS
- VPS
- Git
- SAP
- Amazon AWS
- Khác
- Chưa phân loại
- Phần mềm & ứng dụng tiện ích
- VirtualBox
- VmWare
- Các class liên quan Date, Time trong C#
- Các thuộc tính DateTime
- Thêm và bớt thời gian
- Đo khoảng thời gian
- So sánh hai đối tượng DateTime
- Định dạng tiêu chuẩn DateTime
- Tùy biến định dạng DateTime
1. Các class liên quan Date, Time trong C#
Trong .NET Framework, System.DateTime là một class đại diện cho ngày tháng và thời gian, giá trị của nó nằm trong khoảng 12:00:00 đêm ngày 01-01-0001 tới 11:59:59 tối ngày 31-12-9999.
Có nhiều phương thức khởi tạo (constructor) để bạn khởi tạo một đối tượng DateTime.DateTime Constructorspublic DateTime(int year, int month, int day) public DateTime(int year, int month, int day, Calendar calendar) public DateTime(int year, int month, int day, int hour, int minute, int second) public DateTime(int year, int month, int day, int hour, int minute, int second, Calendar calendar) public DateTime(int year, int month, int day, int hour, int minute, int second, DateTimeKind kind) public DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond) public DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, Calendar calendar) public DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, Calendar calendar, DateTimeKind kind) public DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, DateTimeKind kind) public DateTime(long ticks) public DateTime(long ticks, DateTimeKind kind)Now là một thuộc tính tĩnh của DateTime nó trả về đối tượng DateTime mô tả thời điểm hiện tại.// Đối tượng mô tả thời điểm hiện tại. DateTime now = DateTime.Now; Console.WriteLine("Now is "+ now);2. Các thuộc tính DateTime
| Thuộc tính | Kiểu dữ liệu | Mô tả |
| Date | DateTime | Lấy ra thành phần date (Chỉ chứa thông tin ngày tháng năm) của đối tượng này. |
| Day | int | Lấy ra ngày trong tháng được mô tả bởi đối tượng này. |
| DayOfWeek | DayOfWeek | Lấy ra ngày trong tuần được đại diện bởi đối tượng này. |
| DayOfYear | int | Lấy ra ngày của năm được đại diện bởi đối tượng này. |
| Hour | int | Lấy ra thành phần giờ được đại diện bởi đối tượng này. |
| Kind | DateTimeKind | Lấy giá trị cho biết liệu thời gian được đại diện bởi đối tượng này dựa trên thời gian địa phương, Coordinated Universal Time (UTC), hoặc không. |
| Millisecond | int | Lấy ra thành phần mili giây được đại diện bởi đối tượng này. |
| Minute | int | Lấy ra thành phần phút được đại diện bởi đối tượng này. |
| Month | int | Lấy ra thành phần tháng được đại diện bởi đối tượng này. |
| Now | DateTime | Lấy ra đối tượng DateTime được sét thông tin ngày tháng thời gian hiện tại theo máy tính địa phương. |
| Second | int | Lấy ra thành phần giây được đại diện bởi đối tượng này. |
| Ticks | long | Lấy ra số lượng "tick" được đại diện bởi đối tượng này. (1 phút = 600 triệu tick) |
| TimeOfDay | TimeSpan | Trả về thời gian của ngày được đại diện bởi đối tượng này. |
| Today | DateTime | Trả về ngày hiện tại. |
| UtcNow | DateTime | Trả về đối tượng DateTime được sét thời gian hiện tại của máy tính, được thể hiện dưới dạng Coordinated Universal Time (UTC). |
| Year | int | Lấy ra thành phần năm được đại diện bởi đối tượng này. |
3. Thêm và bớt thời gian
DateTime cung cấp các phương thức cho phép bạn thêm, hoặc trừ một khoảng thời gian. TimeSpan là một class chứa thông tin một khoảng thời gian, nó có thể tham gia như một tham số trong các phương thức thêm bớt thời gian của DateTime.Ví dụ:AddSubtractExample.csusing System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DateTimeTutorial { class AddSubtractExample { public static void Main(string[] args) { // Thời điểm hiện tại. DateTime aDateTime = DateTime.Now; Console.WriteLine("Now is " + aDateTime); // Một khoảng thời gian. // 1 giờ + 1 phút TimeSpan aInterval = new System.TimeSpan(0, 1, 1, 0); // Thêm một khoảng thời gian. DateTime newTime = aDateTime.Add(aInterval); Console.WriteLine("After add 1 hour, 1 minute: " + newTime); // Trừ khoảng thời gian. newTime = aDateTime.Subtract(aInterval); Console.WriteLine("After subtract 1 hour, 1 minute: " + newTime); Console.Read(); } } }Chạy ví dụ:Now is 12/8/2015 10:52:03 PM After add 1 hour, 1 minute: 12/8/2015 11:53:03 PM After subtract 1 hour, 1 minute: 12/8/2015 9:51:03 PMClass DateTime cũng có các phương thức cho phép thêm bớt một loại đơn vị thời gian chẳng hạn:- AddYears
- AddDays
- AddMinutes
- ...
4. Đo khoảng thời gian
Bạn có hai đối tượng DateTime, bạn có thể tính được khoảng thời gian giữa 2 đối tượng này, kết quả nhận được là một đối tượng TimeSpan.IntervalDemo.csusing System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DateTimeTutorial { class IntervalDemo { public static void Main(string[] args) { // Thời điểm hiện tại. DateTime aDateTime = DateTime.Now; // Thời điểm năm 2000 DateTime y2K = new DateTime(2000,1,1); // Khoảng thời gian từ năm 2000 tới nay. TimeSpan interval = aDateTime.Subtract(y2K); Console.WriteLine("Interval from Y2K to Now: " + interval); Console.WriteLine("Days: " + interval.Days); Console.WriteLine("Hours: " + interval.Hours); Console.WriteLine("Minutes: " + interval.Minutes); Console.WriteLine("Seconds: " + interval.Seconds); Console.Read(); } } }Chạy ví dụ:Interval from Y2K to Now: 5820.23:51:08.1194036 Days: 5820 Hours: 23 Minutes: 51 Seconds: 85. So sánh hai đối tượng DateTime
DateTime có một phương thức tĩnh là Compare. Phương thức dùng để so sánh 2 đối tượng DateTime xem đối tượng nào sớm hơn đối tượng còn lại:// Nếu giá trị < 0 nghĩa là firstDateTime sớm hơn (đứng trước) // Nếu giá trị > 0 nghĩa là secondDateTime sớm hơn (đứng trước). // Nếu giá trị = 0 nghĩa là 2 đối tượng này giống nhau về mặt thời gian. public static int Compare(DateTime firstDateTime, DateTime secondDateTime);
CompareDateTimeExample.csusing System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DateTimeTutorial { class CompareDateTimeExample { public static void Main(string[] args) { // Thời điểm hiện tại. DateTime firstDateTime = new DateTime(2000, 9, 2); DateTime secondDateTime = new DateTime(2011, 1, 20); int compare = DateTime.Compare(firstDateTime, secondDateTime); Console.WriteLine("First DateTime: " + firstDateTime); Console.WriteLine("Second DateTime: " + secondDateTime); Console.WriteLine("Compare value: " + compare);// -1 if (compare < 0) { // firstDateTime sớm hơn secondDateTime. Console.WriteLine("firstDateTime is earlier than secondDateTime"); } else { // firstDateTime muộn hơn secondDateTime Console.WriteLine("firstDateTime is laster than secondDateTime"); } Console.Read(); } } }Chạy ví dụ:First DateTime: 9/2/2000 12:00:00 AM Second DateTime: 1/20/2011 12:00:00 AM Compare value: -1 firstDateTime is earlier than secondDateTime6. Định dạng tiêu chuẩn DateTime
Định dạng DateTime nghĩa là chuyển đổi đối tượng DateTime thành một string theo một khuôn mẫu nào đó, chẳng hạn theo định dạng ngày/tháng/năm, ... hoặc định dạng dựa vào địa phương (locale) cụ thể.Phương thức GetDateTimeFormats của DateTime:- Chuyển đổi giá trị của đối tượng này (DateTime) thành một mảng các string đã định dạng theo các chuẩn được hỗ trợ.
AllStandardFormatsDemo.csusing System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DateTimeTutorial { class AllStandardFormatsDemo { public static void Main(string[] args) { DateTime aDateTime = new DateTime(2015, 12, 20, 11, 30, 50); // Các định dạng date-time được hỗ trợ. string[] formattedStrings = aDateTime.GetDateTimeFormats(); foreach (string format in formattedStrings) { Console.WriteLine(format); } Console.Read(); } } }Chạy ví dụ:12/20/2015 12/20/15 12/20/15 12/20/2015 15/12/20 2015-12-20 20-Dec-15 Sunday, December 20, 2015 December 20, 2015 Sunday, 20 December, 2015 20 December, 2015 Sunday, December 20, 2015 11:30 AM Sunday, December 20, 2015 11:30 AM Sunday, December 20, 2015 11:30 Sunday, December 20, 2015 11:30 December 20, 2015 11:30 AM December 20, 2015 11:30 AM December 20, 2015 11:30 December 20, 2015 11:30 Sunday, 20 December, 2015 11:30 AM Sunday, 20 December, 2015 11:30 AM Sunday, 20 December, 2015 11:30 Sunday, 20 December, 2015 11:30 20 December, 2015 11:30 AM 20 December, 2015 11:30 AM ...Ví dụ trên liệt kê ra các string sau khi định dạng một đối tượng DateTime theo các tiêu chuẩn có sẵn được hỗ trợ bởi .NET. Để lấy định dạng theo một mẫu cụ thể bạn sử dụng một trong các phương thức sau:| Phương thức | Mô tả |
| ToString(String, IFormatProvider) | Chuyển đổi các giá trị của đối tượng DateTime hiện tại thành string đại diện tương đương của nó bằng cách sử dụng định dạng cho bởi tham số String, và các thông tin định dạng văn hóa (Culture) cho bởi tham số IFormatProvider. |
| ToString(IFormatProvider) | Chuyển đổi giá trị của đối tượng DateTime hiện tại thành một string tương ứng với thông tin định dạng văn hóa (Culture) cho bởi tham số IFormatProvider. |
| ToString(String) | Chuyển đổi các giá trị của đối tượng DateTime hiện tại thành một string tương đương của nó bằng cách sử dụng định dạng cho bởi tham số String và các quy ước định dạng của nền văn hóa hiện tại. |
Ví dụ dưới đây định dạng DateTime theo định dạng 'd', và chỉ định rõ văn hóa (culture) trong tham số.SimpleDateTimeFormat.csusing System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Globalization; namespace DateTimeTutorial { class SimpleDateTimeFormat { public static void Main(string[] args) { DateTime aDateTime = new DateTime(2015, 12, 20, 11, 30, 50); Console.WriteLine("DateTime: " + aDateTime); String d_formatString = aDateTime.ToString("d"); Console.WriteLine("Format 'd' : " + d_formatString); // Một đối tượng mô tả văn hóa của Mỹ (en-US Culture) CultureInfo enUs = new CultureInfo("en-US"); // ==> 12/20/2015 (MM/dd/yyyy) Console.WriteLine("Format 'd' & en-US: " + aDateTime.ToString("d", enUs)); // Theo văn hóa Việt Nam. CultureInfo viVn = new CultureInfo("vi-VN"); // ==> 12/20/2015 (dd/MM/yyyy) Console.WriteLine("Format 'd' & vi-VN: " + aDateTime.ToString("d", viVn)); Console.Read(); } } }Chạy ví dụ:DateTime: 12/20/2015 11:30:50 AM Format 'd' : 12/20/2015 Format 'd' & en-US: 12/20/2015 Format 'd' & vi-VN: 20/12/2015Các ký tự định dạng tiêu chuẩn.| Code | Pattern |
| "d" | Ngày tháng năm ngắn |
| "D" | Ngày tháng năm dài |
| "f" | Ngày tháng năm dài, thời gian ngắn |
| "F" | Ngày tháng năm dài, thời gian dài. |
| "g" | Ngày tháng thời gian nói chung. Thời gian ngắn. |
| "G" | Ngày tháng thời gian nói chung. Thời gian dài. |
| "M", 'm" | Tháng/ngày. |
| "O", "o" | Round-trip date/time. |
| "R", "r" | RFC1123 |
| "s" | Ngày tháng thời gian có thể sắp xếp |
| "t" | Thời gian ngắn |
| "T" | Thời gian dài |
| "u" | Ngày tháng năm có thể sắp xếp, phổ biến (Universal sortable date time). |
| "U" | Ngày tháng năm thời gian dài, phổ biến (Universal full date time). |
| "Y", "y" | Năm tháng |
7. Tùy biến định dạng DateTime
Trong phần này tôi sẽ hướng dẫn bạn chuyển một đối tượng DateTime ra một string có định dạng tùy biến, chẳng hạn "dd/MM/yyyy",.... và ngược lại.Tùy biến DateTime --> string:Sử dụng DateTime.ToString(string):string format = "dd/MM/yyyy HH:mm:ss"; DateTime now = DateTime.Now; // ==> 18/03/2016 23:49:39 string s = now.ToString(format);CustomDateTimeFormatExample.csusing System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DateTimeTutorial { class CustomDateTimeFormatExample { public static void Main(string[] args) { // Một định dạng ngày tháng và thời gian. string format = "dd/MM/yyyy HH:mm:ss"; DateTime now = DateTime.Now; string s = now.ToString(format); Console.WriteLine("Now: " + s); Console.Read(); } } }Tùy biến string --> DateTimepublic static DateTime Parse(string s) public static DateTime Parse(string s, IFormatProvider provider) public static DateTime Parse(string s, IFormatProvider provider, DateTimeStyles styles) public static bool TryParseExact(string s, string format, IFormatProvider provider, DateTimeStyles style, out DateTime result) public static bool TryParseExact(string s, string[] formats, IFormatProvider provider, DateTimeStyles style, out DateTime result)Ví dụ:| Phương thức | Ví dụ |
| static DateTime Parse(string) | // Xem thêm phần định dạng chuẩn DateTime. string httpHeaderTime = "Fri, 21 Feb 2011 03:11:31 GMT"; DateTime.Parse(httpHeaderTime); |
| static DateTime ParseExact( string s, string format, IFormatProvider provider ) | string dateString = "20160319 09:57"; DateTime.ParseExact(dateString ,"yyyyMMdd HH:mm",null); |
| static bool TryParseExact( string s, string format, IFormatProvider provider, DateTimeStyles style, out DateTime result ) | Phương thức này rất giống với ParseExact, tuy nhiên nó trả về kiểu boolean, true nếu chuỗi thời gian là phân tích được, ngược lại trả về false. (Xem thêm ví dụ dưới đây). |
Các hướng dẫn lập trình C#
- Thừa kế và đa hình trong C#
- Bắt đầu với C# cần những gì?
- Học nhanh C# cho người mới bắt đầu
- Cài đặt Visual Studio 2013 trên Windows
- Abstract class và Interface trong C#
- Cài đặt Visual Studio 2015 trên Windows
- Nén và giải nén trong C#
- Hướng dẫn lập trình đa luồng trong C#
- Hướng dẫn và ví dụ C# Delegate và Event
- Cài đặt AnkhSVN trên Windows
- Lập trình C# theo nhóm sử dụng Visual Studio và SVN
- Cài đặt .Net Framework
- Access Modifier trong C#
- Hướng dẫn và ví dụ C# String và StringBuilder
- Hướng dẫn và ví dụ C# Property
- Hướng dẫn và ví dụ C# Enum
- Hướng dẫn và ví dụ C# Structure
- Hướng dẫn và ví dụ C# Generics
- Hướng dẫn xử lý ngoại lệ trong C#
- Hướng dẫn và ví dụ Date Time trong C#
- Thao tác với tập tin và thư mục trong C#
- Hướng dẫn sử dụng Stream - luồng vào ra nhị phân trong C#
- Hướng dẫn sử dụng biểu thức chính quy trong C#
- Kết nối cơ sở dữ liệu SQL Server trong C#
- Làm việc với cơ sở dữ liệu SQL Server trong C#
- Kết nối cơ sở dữ liệu MySQL trong C#
- Làm việc với cơ sở dữ liệu MySQL trong C#
- Kết nối cơ sở dữ liệu Oracle trong C# không cần Oracle Client
- Làm việc với cơ sở dữ liệu Oracle trong C#

Các hướng dẫn lập trình C#
- Thừa kế và đa hình trong C#
- Bắt đầu với C# cần những gì?
- Học nhanh C# cho người mới bắt đầu
- Cài đặt Visual Studio 2013 trên Windows
- Abstract class và Interface trong C#
- Cài đặt Visual Studio 2015 trên Windows
- Nén và giải nén trong C#
- Hướng dẫn lập trình đa luồng trong C#
- Hướng dẫn và ví dụ C# Delegate và Event
- Cài đặt AnkhSVN trên Windows
- Lập trình C# theo nhóm sử dụng Visual Studio và SVN
- Cài đặt .Net Framework
- Access Modifier trong C#
- Hướng dẫn và ví dụ C# String và StringBuilder
- Hướng dẫn và ví dụ C# Property
- Hướng dẫn và ví dụ C# Enum
- Hướng dẫn và ví dụ C# Structure
- Hướng dẫn và ví dụ C# Generics
- Hướng dẫn xử lý ngoại lệ trong C#
- Hướng dẫn và ví dụ Date Time trong C#
- Thao tác với tập tin và thư mục trong C#
- Hướng dẫn sử dụng Stream - luồng vào ra nhị phân trong C#
- Hướng dẫn sử dụng biểu thức chính quy trong C#
- Kết nối cơ sở dữ liệu SQL Server trong C#
- Làm việc với cơ sở dữ liệu SQL Server trong C#
- Kết nối cơ sở dữ liệu MySQL trong C#
- Làm việc với cơ sở dữ liệu MySQL trong C#
- Kết nối cơ sở dữ liệu Oracle trong C# không cần Oracle Client
- Làm việc với cơ sở dữ liệu Oracle trong C#
Các bài viết mới nhất
- Dart Stream Single và Broadcast
- Xử lý lỗi trong Dart Stream
- Hướng dẫn và ví dụ Dart Stream
- So sánh đối tượng trong Dart với thư viện Equatable
- Flutter BloC cho người mới bắt đầu
- Xử lý lỗi 404 trong Flutter GetX
- Ví dụ đăng nhập và đăng xuất với Flutter Getx
- Hướng dẫn và ví dụ Flutter NumberTextInputFormatter
- Hướng dẫn và ví dụ Flutter multi_dropdown
- Hướng dẫn và ví dụ Flutter flutter_form_builder
- Hướng dẫn và ví dụ Flutter GetX obs Obx
- Hướng dẫn và ví dụ Flutter GetX GetBuilder
- Từ khoá part và part of trong Dart
- Hướng dẫn và ví dụ Flutter InkWell
- Hướng dẫn và ví dụ Flutter Radio
- Bài thực hành Flutter SharedPreferences
- Hướng dẫn và ví dụ Flutter Slider
- Hướng dẫn và ví dụ Flutter SkeletonLoader
- Chỉ định cổng cố định cho Flutter Web trên Android Studio
- Tạo Module trong Flutter
- Các hướng dẫn lập trình C#
Từ khóa » ép Kiểu Datetime Trong C#
-
Chủ đề: Chỉ Mình Cách Chuyển Sang Dạng DateTime Trong C# Với
-
[C#] Hướng Dẫn Sử Dụng Date Và Time Trong C# - C# Căn Bản
-
Chuyển đổi Dữ Liệu String Sang DateTime Trong C# | How Kteam
-
Cách ép Kiểu String Qua DateTime Trong C# - Programming
-
Định Dạng Kiểu DateTime C# | Haipro912
-
[Ký Sự] Chuyển đổi DateTime Thành Chuỗi String Trong C# – PDNStudio
-
Cách ép Kiểu String Qua DateTime Trong C#
-
Chuyển đổi Chuỗi định Dạng Dd / Mm / Yyyy Thành Datetime [trùng Lặp]?
-
Hàm Convert Từ Chuỗi Sang Kiểu Datetime - IIS Windows Server
-
Cách Convert Int Sang Datetime Trong C - Cộng đồng C Việt
-
Convert String To Datetime Trong Lập Trình C - Cộng đồng C Việt
-
5 Cách để Mock DateTime.Now Cho Unit Test Trong C# - Viblo
-
/forum/p?t=6071