NEWS

Tính can chi và thứ trong tuần khi biết ngày, tháng , năm

Tính can chi và thứ trong tuần khi biết ngày, tháng ,  năm
Đăng bởi: Thảo Meo - Lượt xem: 18591 13:58:18, 20/10/2015C#   In bài viết

Hôm nay mình xin hướng dẫn các bạn cách tính can chi và tìm thứ trong tuần.

Vd: 28/03/1988 => Bạn sinh vào ngày thứ hai năm Mậu thìn

Can có 10 can: GIÁP; ẤT; BÍNH ; ĐINH; MẬU ; KỈ ; CANH ; TÂN ; NHÂM; QUÝ. 

Chi có 12 chi: TÝ ; SỬU ; DẦN ; MÃO; THÌN ; TỴ ; NGỌ ;MÙI ; THÂN ; DẬU ; TUẤT; HỢI.

Bảng tính can chi:

+ Bảng can:

0 1 2 3 4 5 6 7 8 9
Canh Tân Nhâm Quý Giáp  Ất Bính  Đinh Mậu Kỷ

+ Bảng chi:

  Sửu Dần Mão Thìn Tỵ Ngọ Mùi  Thân Dậu Tuất Hợi
3 1 2 0 1 2 0 1 2 0 1 2 0
4 0 1 2 3 0 1 2 3 0 1 2 3

Bảng Can:

  Với 10 chữ số tương ứng với 10 CAN theo bảng( tính theo chữ số cuối cùng của năm sinh); VD. Bạn sinh năm 1986, số 6 tương ứng với CAN  Bính

Bảng Chi:

 Bảng này sử dụng dấu hiệu chia hết cho 3 va cho 4

 (Nhắc lại )

 + Tổng các chữ số của 1 số chia cho 3 có cùng số dư với số đó chia cho 3; VD số 1986 có 1+9+8+6 =24. số 24 chia cho 3 dư 0, nên số 1986 chia cho 3 cũng dư 0.

  +Một số được tạo thành từ 2 chữ  số cuối cùng của 1 số  chia cho 4 có cùng số dư với số đó chia cho 4 ;VD Số 1986 có 86 chia cho 4 dư 2 nên số 1986 cũng chia cho 4 dư 2.

Giờ ta nhìn vào bảng 2. Số 1986 chia cho 3 dư 0 và chia cho 4 dư 2 nên năm 1986 có Chi la Dần.

+ Hàm tính thứ khi biết ngày, tháng, năm

thu = CDate(MaskedTextBox1.Text).DayOfWeek.ToString()

Tính can chi và thứ trong ngày

Dưới đây là code VB:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim ngay As String = vb.Left(MaskedTextBox1.Text, 2)
        Dim thang As String = vb.Mid(MaskedTextBox1.Text, 3, 2)
        Dim nam As String = vb.Right(MaskedTextBox1.Text, 4)
        ' Tính Can Có 10 CAN là : GIÁP; ẤT; BÍNH ; ĐINH; MẬU ; KỈ ; CANH ; TÂN ; NHÂM; QUÝ
        Dim can As String = vb.Right(nam, 1)
        Dim chi As String = ""
        Dim kq As String = ""
        If can = 0 Then
            kq = "Canh"
        ElseIf can = 1 Then
            kq = "Tân"
        ElseIf can = 2 Then
            kq = "Nhâm"
        ElseIf can = 3 Then
            kq = "Qúy"
        ElseIf can = 4 Then
            kq = "Giáp"
        ElseIf can = 5 Then
            kq = "Ất"
        ElseIf can = 6 Then
            kq = "Bính"
        ElseIf can = 7 Then
            kq = "Đinh"
        ElseIf can = 8 Then
            kq = "Mậu"
        ElseIf can = 9 Then
            kq = "Kỷ"
        End If
        ' Tính Chi có 12 chi: TÝ ; SỬU ; DẦN ; MÃO; THÌN ; TỴ ; NGỌ ;MÙI ; THÂN ; DẬU ; TUẤT; HỢI.
        Dim a As String = (vb.Right(nam, 1) + vb.Mid(nam, 6, 1) + vb.Mid(nam, 7, 1) + vb.Mid(nam, 8, 1)) Mod 3
        Dim b As String = (vb.Right(nam, 2)) Mod 4
        Dim c As String = a & b
        If c = "00" Then
            chi = "Thân"
        ElseIf c = "01" Then
            chi = "Tỵ"
        ElseIf c = "02" Then
            chi = "Dần"
        ElseIf c = "03" Then
            chi = "Hợi"
        ElseIf c = "10" Then
            chi = "Tý"
        ElseIf c = "11" Then
            chi = "Dậu"
        ElseIf c = "12" Then
            chi = "Ngọ"
        ElseIf c = "13" Then
            chi = "Mão"
        ElseIf c = "20" Then
            chi = "Thìn"
        ElseIf c = "21" Then
            chi = "Sửu"
        ElseIf c = "22" Then
            chi = "Tuất"
        ElseIf c = "23" Then
            chi = "Mùi"
        End If
        ' Tính thứ trong ngày
        Dim thu As String
        thu = CDate(MaskedTextBox1.Text).DayOfWeek.ToString()
        If thu = "Monday" Then
            thu = "thứ hai"
        ElseIf thu = "Tuesday" Then
            thu = "thứ ba"
        ElseIf thu = "Wednesday" Then
            thu = "thứ tư"
        ElseIf thu = "Thursday" Then
            thu = "thứ năm"
        ElseIf thu = "Friday" Then
            thu = "thứ sáu"
        ElseIf thu = "Saturday" Then
            thu = "thứ bảy"
        ElseIf thu = "Sunday" Then
            thu = "chủ nhật"
        End If
        ' Xuất kết quả
        TextBox1.Text = "Bạn sinh vào ngày " & thu & " năm " & kq & " " & chi
    End Sub

Cuối cùng bạn nhớ import thư viện này vào:

Imports vb = Microsoft.VisualBasic.Strings

Rất đơn giản phải không các bạn, chúc các bạn thành công.

THÔNG TIN TÁC GIẢ

BÀI VIẾT LIÊN QUAN

Tính can chi và thứ trong tuần khi biết ngày, tháng ,  năm
Đăng bởi: Thảo Meo - Lượt xem: 18591 13:58:18, 20/10/2015C#   In bài viết

CÁC BÀI CÙNG CHỦ ĐỀ

Đọc tiếp
.