- [C#] Di chuyển và thay đổi kích thước Control Winform khi ứng dụng đang chạy
- [VB.NET] Chia sẻ source tạo sắp xếp đội hình bóng đá Line-ups đội bóng
- [C#] Hướng dẫn chỉnh sửa Text của label trực tiếp trên winform
- [C#] Hướng dẫn custom TextBox giống Ultraviewer trên Winform
- [C#] Show Modal Winform like Bootstrap
- [DATABASE] Thứ tự thực hiện mệnh đề truy vấn SELECT trong Sqlserver
- [C#] Hướng dẫn viết addin Excel Lấy hình ảnh từ URL internet vào Excel
- [DATABASE] TSQL view max length all column data trên table Sqlserver
- [DEVEXPRESS] Hướng dẫn sử dụng MailMerge kèm Hình ảnh trên Winform
- [DATABASE] Hướng dẫn truy vấn xem kích thước lưu trữ của từng bảng ghi Table trên sqlserver
- [C#] Hướng dẫn Fake Date Time sử dụng thư viện Harmony
- [DATABASE] Phân biệt câu lệnh DDL và DML trong sqlserver
- [C#] Hướng dẫn convert file mã HTML sang file Pdf trên winform
- [DEVEXPRESS] Tạo các loại mã vạch Barcode trực tiếp trên Devexpress Barcode API
- [DEVEXPRESS] Hướng dẫn custom Simple button thành Progressbar
- [DATABASE] Tách số và chữ từ chuỗi - hàm tối ưu hóa tách số và chữ trong Sqlserver
- [C#] Tìm kiếm gần đúng Full Text Search sử dụng thư viện Lucene.NET
- [C#] Chia sẻ tài liệu, sdk và source code máy chấm công dòng máy ZKTeco
- [C#] Memory Cache là gì, và sử dụng trong ứng dụng Winform
- [DATABASE] Khóa chính Primary Key trong Sqlserver
Tính can chi và thứ trong tuần khi biết ngày, tháng , năm
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:
Tý | 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()
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.