Hướng dẫn chuyển đổi giờ phút giây trong C#
Trong bài viết này mình sẽ hướng dẫn các bạn cách đổi giờ phút giây trong C#. Đây là dạng bài tập áp dụng một chút kiến thức toán học và các toán tử cơ bản trong lập trình nói chung và C# nói riêng.
Mình sẽ thực hiện hai chương trình để đổi giờ phút giây. Chương trình thứ nhất chuyển đổi từ giờ, phút, giây sang số giây và chương trình thứ hai chuyển đổi từ số giây sang dạng giờ, phút, giây.
Chuyển đổi giờ, phút, giây sang số giây trong C#
Như các bạn cũng đã biết, mỗi giờ có 60 phút và mỗi phút có 60 giây. Dựa vào đó ta sẽ viết một hàm để chuyển đổi từ định dạng giờ, phút, giây sang số giây.
- 1 giờ sẽ bằng 3600 giây.
- 1 phút sẽ bằng 60 giây
Hàm change()
:
Bài viết này được đăng tại [free tuts .net]
static void change(int h, int m, int s) { //ta có 1h = 3600s, 1m = 60s int second = h * 3600 + m * 60 + s; Console.WriteLine("\n So giay sau khi doi tu {0}:{1}:{2} la: {3}", h, m, s, second); }
Bây giờ chỉ cần yêu cầu người dùng nhập vào số giờ, phút, giây sau đó gọi hàm change()
và truyền các tham số vừa nhập vào.
using System; namespace BaiTapCSharp { class Program { static void change(int h, int m, int s) { //ta có 1h = 3600s, 1m = 60s int second = h * 3600 + m * 60 + s; Console.WriteLine("\n So giay sau khi doi tu {0}:{1}:{2} la: {3}", h, m, s, second); } static void Main(string[] args) { //yêu cầu người dùng nhập vào số giờ cần chuyển đổi Console.Write("\n Nhap vao so gio: "); int h = Convert.ToInt32(Console.ReadLine()); //yêu cầu người dùng nhập vào số phút cần chuyển đổi Console.Write("\n Nhap vao so phut: "); int m = Convert.ToInt32(Console.ReadLine()); //yêu cầu người dùng nhập vào số giây cần chuyển đổi Console.Write("\n Nhap vao so giay: "); int s = Convert.ToInt32(Console.ReadLine()); //gọi hàm change() đã tạo ở trên để chuyển đổi từ định dạng giờ phút giây sang số giây change(h, m, s); Console.WriteLine("\n-----Chuong trinh nay duoc dang tai Freetuts.net---"); } } }
Kết quả:
Chuyển đổi số giây sang dạng giờ, phút, giây trong C#
Tương tự như vậy, để chuyển đổi số giây sang dạng giờ, phút, giây ta cũng tạo một hàm change()
để chuyển đổi. Tuy nhiên, hàm này chỉ nhận vào một tham số là số giây n.
static void change(int n) { //khai báo 3 biến hour, minute, second đại diện cho giờ phút giây int hour, minute, second; //1h = 3600s -> hour = n / 3600 hour = n / 3600; //1p = 60s, vì ở trên ta đã chia 3600 để lấy giờ //vậy nên ta cần lấy phần dư của nó chia cho 60 minute = n % 3660 / 60; //phần dư còn lại chính là số giây second = n % 3600 % 60; //hiển thị kết quả sau khi đổi ra màn hình Console.WriteLine("\n Sau khi doi tu so giay {0}: {1}:{2}:{3}", n, hour, minute, second); }
Tiếp đến yêu cầu người dùng nhập vào số giây cần chuyển đổi, sau đó gọi hàm change()
rồi truyền tham số vừa nhập vào.
using System; namespace BaiTapCSharp { class Program { static void change(int n) { //khai báo 3 biến hour, minute, second đại diện cho giờ phút giây int hour, minute, second; //1h = 3600s -> hour = n / 3600 hour = n / 3600; //1p = 60s, vì ở trên ta đã chia 3600 để lấy giờ //vậy nên ta cần lấy phần dư của nó chia cho 60 minute = n % 3660 / 60; //phần dư còn lại chính là số giây second = n % 3600 % 60; //hiển thị kết quả sau khi đổi ra màn hình Console.WriteLine("\n Sau khi doi tu so giay {0}: {1}:{2}:{3}", n, hour, minute, second); } static void Main(string[] args) { //yêu cầu người dùng nhập vào số giây cần chuyển đổi Console.Write("\n Nhap vao so giay can doi: "); int s = Convert.ToInt32(Console.ReadLine()); //gọi hàm change() đã tạo ở trên để chuyển đổi số giây mà người dùng vừa nhập sang dạng giờ phút giây change(s); Console.WriteLine("\n-----Chuong trinh nay duoc dang tai Freetuts.net---"); } } }
Kết quả:
Như vậy là chúng ta đã thực hiện xong chương trình chuyển đổi giờ phút giây trong C#. Đây là dạng bài tập cơ bản vì vậy các bạn hãy luyện tập thật nhiều để làm quen nhé, chúc các bạn thành công !!!