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 [kiso.vn]

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 Kiso.vn---");
        }
    }
}

Kết quả:

bai43 01 png

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 Kiso.vn---");
        }
    }
}

Kết quả:

bai43 02 png

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 !!!

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *