Thứ Tư, 23 tháng 12, 2015

Bộ Gia Phả Họ Trần Đăng soạn thảo và hoàn thành tháng 7-2015

Đây là một dự án làm việc vất vả và mất rất nhiều thời gian của Đồng tộc, các soạn giả. Đặc biệt là Cha của mình, ghi chép và tập hợp mang tính chất ban đầu và ghi chép hoàn toàn bằng tay.

Còn mình thì mất gần một năm mới hoàn thành từ các dữ liệu của Cha và các bản viết tay gửi!

  • Lấy cái thành kính với Tổ tiên cội nguồn làm động lực
  • Lấy cái Hỷ - Hạnh cho con cháu hôm nay và mai sau mà chép lời son sắt
  • Lấy cái Tâm mà cần mẫn lập thành
 Hình chụp Gia phả trước khi giao về cho Họ
 Hình chụp Gia phả họ trần trước khi giao về cho Họ
Đọc thêm »

Thứ Năm, 10 tháng 12, 2015

HÀNH TRÌNH VỀ PHƯƠNG ĐÔNG

Hôm trước được gặp một bậc thầy ở lĩnh vực lĩnh vực Phong Thủy Tâm Linh và củng là một nhà khoa học được phong tặng học hàm, đã từng là hiệu trưởng của một trường Đại học danh tiếng. Trong buổi nói chuyện Bác đã hỏi mình "Liêm đã đọc cuốn Hành Trình Về Phương Đông chưa?".

Mình trả lời thật "Cháu đã nghe tên nhưng chưa đọc bao giờ".

Thế là Bác ấy giới thiệu về cuốn sách, mình nghe là ngiền luôn rồi. Bác giới thiệu về nội dung và tác giả, dịch giả của cuốn sách, nhưng phần gây ấn tượng nhất đó là Dịch Giả. Dịch Giả đó là Nguyên Phong, người ấy đên nay không biết đó là ai, mà dịch hay như vậy. Người đời đang đi tìm mà chưa tìm được và cuốn sách lại được dịch ngược lại từ tiếng Việt thành tiếng Anh.

Xin nói thêm là cuốn sách này xuất bản năm 1924 nhé bạn, lúc đó Việt Nam thế nào?


Nếu bạn muốn tìm hiểu ban đầu về cuốn sách này, vui lòng nghe lời giới thiệu từ Video này:

Đọc thêm »

Chủ Nhật, 6 tháng 12, 2015

Giờ Âm Lịch Việt Nam

Trong cuộc sống có nhiều người không biết hay hỏi nhau là:

Giờ Tý là mấy giờ?
Giờ Ngọ là mấy giờ?
..............................?

Bình thường thì được trả lời là:

Giờ Tý là 23h đến 1h sáng
Giờ Ngọ là lúc 11h đến 13h chiều
...................

Chính những câu hỏi đó mình đã hỏi lúc còn nhỏ, bởi sự tò mò rằng: Tại sao đã có đồng hồ để đo thời gian rồi mà người ta vẫn cứ giờ Tý, Sửu... để làm các việc gì đó.

Đúng rồi bạn ạ! bây giờ người ta vẫn sử dụng 2 loại đơn vị đo thời gian của một ngày đó là:

- Giờ pháp lịch Việt Nam: Sử dụng theo quy chuẩn quốc tế lấy múi giờ là GMT+7, hay còn gọi là giờ Hà Nội. Một ngày có 24h, mỗi giờ là 60h
- Giờ âm lịch: một ngày được chia thành 12 giờ, mỗi giờ lấy tên một con giáp, bắt đầu từ giờ rồi đến Sửu, Dần Mão Thìn Tỵ Ngọ Mùi Thân Dậu Tuất Hợi. Ban đêm được được gọi là Canh. Ví dụ Canh 1, Canh Hai... đến Canh 5

Đi vào vấn đề chính nhé! đó là quy đổi giữa giờ Pháp Lịch và giờ Âm Lịch, hãy giải quyết câu hỏi này trước:

Giờ Ngọ bắt đầu từ mấy giời và kết thúc mấy giờ?

Để nhìn lại bản chất của hai đơn vi đo thời gian ở trên ta có nhận xét như sau:

- Giờ Pháp Lịch lấy mốc thời theo Kinh độ của quả đất là kính tuyến 7, vì vậy có sự liên quan đến vị trí địa lý.
- Giờ âm lịch: ngày trước các bậc tiền nhân xác định bằn giờ chính ngọ là lúc Mặt trời đứng bóng rồi suy ra các giời khác. Như vậy giờ âm lịch có liên quan tới tính thiên văn.

Ngày nay một số chương trình hoặc website cho phép bạn tính toán được giờ mặt trời Mọc, Lặn, đạt tới đỉnh của nó tại mỗi vị trí khác nhau như: Yahoo Weather, Câu Cá...

Ví dụ 1: ngày 01/01/2015 tại Đảo Phú Quốc () Mặt Trời mọc 6h21, lặn: 17h53, Chính Ngọ lúc 12h07

Ví dụ 2: ngày 01/01/2015 tại TP. HCM () Mặt Trời mọc 6h11, lặn: 17h41, Chính Ngọ lúc 11h56

Như vậy ta suy được bảng giờ âm lịch:

  • - Tại Đảo Phú Quốc: Giờ Tý: 23h07-1h07, Sửu: 1h07-3h07....
  • - Còn tại TPHCM: Giờ Tý: 22h56-0h56, Sửu: 0h56-2h56...


Kết quả cho ta thấy bảng giờ ở hai vị trí khác nhau.

Có vẻ phức tạp phải không bạn?

Vậy phương pháp xác định giờ âm lịch thế nào cho đúng?

CÁCH XÁC ĐỊNH BẢNG GIỜ ÂM LỊCH

CÁCH 1: SỬ DỤNG CHƯƠNG TRÌNH LỊCH VẠN NIÊN EXCEL

Đây là chương trình mình soạn ra, được chạy trên cở sở thuật toán thiên văn, bạn tải về và vào mục cài đặt để sét vị trí Kinh Độ, Vỹ Độ theo hướng dẫn ở trong đó.

Địa chỉ tải: http://trantuliem.blogspot.com/2013/01/lich-van-nien-ttl-excel.html
Tải dự phòng: http://nhaban.today/wp-content/uploads/2014/12/LICH-VAN-NIEN-EXCEL-V1.0.xls



Chương trình chỉ chạy được trên máy tính và phải có Microffice EXCE.

CÁCH 2: SỬ DỤNG CÁCH TÍNH GIỜ CHÍNH NGỌ HỒ NGỌC ĐỨC

Sử dụng lịch của Hồ Ngọc Đức để xác định giờ Chính Ngọ sau đó bạn phải tự tính ra các giờ khác. Xem theo đường link này:
http://www.informatik.uni-leipzig.de/~duc/amlich/vncal.html


CÁCH 3: HƯỚNG DẪN BẠN TỰ TÍNH


Cách tính này bắt buộc bạn phải có dữ liệu đầu vào là giờ mặt trời lặn và mặt trời mọc, bạn có thể tìm các dữ liệu này ở nhiều nơi ví dụ:


Trên blog lịch treo tường.

Trên Yahoo thời tiết: https://weather.yahoo.com/


Hoặc bạn gõ tren google với từ khóa: "sunrise and sunset"


Ta tiến hành tìm giờ chính ngọ ngày 01/01/2015 tại TP. HCM () từ 2 dữ liệu: Mặt Trời mọc 6h11, lặn: 17h41.


- Mặt trời mọc phú thứ: a = 6x60+11 = 371

- Mặt trời lặn phút thứ: b = 17x60+41 = 1061

- Mặt trời chính ngọ ở phút thứ: c = (a+b):2 = (371+1061):2 = 716

- Đổi kết quả này thành giờ phút: chia c cho 60, phần nguyên là giờ, phân dư là phú:

Lấy 716 chia cho 60: được phần nguyên: 11, được phần dư là 56


Kết quả: Chính ngọ ngày 01/01/2015 tại TPHCM là 11 giờ 56 phút trùng với kết quả trong ví dụ 2 ở trên.

Lưu ý: phương pháp này là tương đối trong thuật toán thiên văn họ không tính thế này.

Tổng quát lại:

Khi chúng ta không quan tâm tới yếu tố thời gian âm lịch thì vấn đề này chẳng có ý nghĩa gì. Còn khi bạn đã đọc đến đây và quan tâm thì nó là một vấn đề cốt lõi trong văn hóa và những việc tâm linh. Những ví dụ sau có thể bạn hình dung được một số góc cạnh: 

Chọn giờ để khâm liệm, nếu bạn chọn nhầm giờ vào tứ hành xung, trùng tang...? Các vấn đề cưới hỏi, động thổ... củng như vậy.

Xem lá số tử vi: 70% khó khăn của tử vi đó chính là xác định giờ sinh, khi xác định được giờ sinh mọi việc thường dễ dàng hơn.

....

Trong sách Bát Trạch Minh Cảnh của Thái Kim Oanh có phần trình bày đầu tiên là phần hướng dẫn chọn giờ âm lịch, tuy nhiên theo mình là sai nhé bạn!

Tôi nghỉ rằng bạn đọc quan tâm về lĩnh vực này sẽ khó khăn để hiểu bài viết. TTL Blog gợi ý cho các bạn hãy tải chương trình của tôi về và tham khảo các kết quả của các ngày bình thường, các ngày đặc biệt... để có nhận định chung hơn, sau đó cùng tìm hiểu nhé!

Các bạn có thể xem các bài viết liên quan do mình viết:
Đọc thêm »

Thứ Hai, 16 tháng 11, 2015

LỊCH VẠN NIÊN TTL-EXCEL

TẢI LỊCH VẠN NIÊN BẢN MỚI NHẤT

(có nhiều ứng dụng thiên văn)


(Đã chỉnh sử và cập nhật lại ngày 28/8/2015)
Bản dùng thử 30 ngày

Bản đồ sao được nhúng vào lịch
Các bạn thân mến! Blog TTL đã giới thiệu thuật toán tính Âm Lịch của Hồ Ngọc Đức bằng ngôn ngữ JavaScript, Đây là thuật toán Thiên văn của quốc tế. Bạn có thể xem bài viết này tại: 

Còn ở bài viết này tôi sẽ giới thiệu cho bạn thuật toán tính âm lịch của Hồ Ngọc Đức bằng ngôn ngữ Viasual Basic do Blog TTL chuyển từ ngôn JavaScript. Và File Excel Lịch Vạn Niên xây dựng từ thật toán trên và các tài liệu xem ngày tháng. Nhưng tôi sẽ giới thiệu về File Lịch Vạn Niên trước, thuật toán giới thiệu sau.
File Lịch Vạn Niên là một chương trình xử lý, tính toán một ngày dương nào đó thành ngày âm lịch và các vạn sự của ngày.

Ví dụ như ngày Dương là ngày 01 tháng 01 năm 2013, thì kết quả cơ bản từ chương trình Lịch Vạn Niên là:
  • Là ngày Hoàng Đạo
  • Ngày thứ 3
  • Ngày theo lịch Julius: 2456294
  • Ngày âm lịch: 20/11/2012 ngày Đinh Mão tháng Nhâm Tý năm Nhâm Thìn
  • Mệnh ngày là Hỏa (lửa trong lò), mệnh tháng là Mộc (gỗ cây dâu), mệnh năm là Thủy (nước giữa dòng)
  • Ngày này đang ở trong tiết Đông Chí (giữa đông - kinh độ mặt trời là 280.43 độ)
  • Từ 23h đến 01h là giờ Canh Tý thần Tư Mệnh quản, giờ này là giờ Hắc Đạo, còn từ 01h đến 03h ....
  • Ngày này thì hướng Hỷ thần là Chính Nam, Tài thần là Chính Tây, Hạc thần là Chính Nam, giờ không vong tại Dậu, Hợi, Giờ tốt: Dần, Mão, Ngọ, Mùi
  •  Các sao tốt chiếu trong ngày này: Nguyện Đức Hợp, Thiên Thành...
  • Các sao xấu chiếu trong ngày này: Thiên Cương, Thiên Lại...
  • Các phần vạn sự A, B,C,D,E,F ...
  • ............................

Ngoài ra còn có thêm 3 phần là: Xem Giờ Sinh, Bát Trạch, Ngày Đặc Biệt Của Bạn:
  • Phần Xem Giờ Sinh được viết theo sách Ngọc Hạp Chánh Tông. Phần này bạn chỉ nên xem cho vui, đừng tin quá.
  • Phần Bát Trạch được xây dựng dựa theo sách Phong Thủy Ứng Dụng. Phần này ứng dụng cho việc bài trí nội thất, ngoại thất.
  • Phần Ngày Đặc Biệt là phần bạn nhập ngày mà bạn cần nhớ của mình vào, Lịch vạn niên khi chỉ tới ngày đó sẽ báo cho bạn. Ví dụ ngày sinh của bạn là 20/10/1984 Âm Lịch thì đến ngày 20/10 âm lịch của các năm sẽ hiện dòng nhắc sinh nhật của bạn.
Tuy nhiên bản Lịch Vạn Niên này chắc chắn không ít thì nhiều có chổ sẽ sai, nếu ai phát hiện lỗi sai sót thì comment dùm nha. Ngoài ra mong bà con bàn luận chi sẽ, góp ý để hoàn thành Lịch Vạn Niên này tốt hơn.

Ghi chú Lịch Vạn Niên này là file Excel có chứa các Macro nên bạn phải đưa chế độ bảo vệ của Excel về mức Low mới xem được.  Phần Bát Trạch, nếu bạn dùng thì phải dùng Excel 2007 trở lên, excel 2003 sẽ bị lỗi. 


TẢI LỊCH VẠN NIÊN MỚI NHẤT

http://www.mediafire.com/download/a68o25pg2i10so3/lich+van+nien+excel+v1.1.rar

(Đã chỉnh sử và cập nhật lại ngày 28/08/2015)
Bản dùng thử 30 ngày

Riêng phần tính giờ nước lên, nước xuống thì mình chưa có thuật toán tính, nên mục này bà con xem thận trọng nha. Ai có thật toán tính giờ con nước thì chỉ mình với.

Các bạn có thể thảm khảo bài viết: Cách Tính Giờ Âm Lịch để hiểu hơn về chương trình này

Còn đây là thuật toán:


Option Explicit ' TRAN TU LIEM
Const PI As Double = 3.14159265358979 ' Atn(1) * 4

Function jdFromDate(ByVal dd As Long, ByVal mm As Long, ByVal yy As Long) As Long
    Dim a As Double, y As Long, M As Long, jd As Long
    a = Fix((14 - mm) / 12)
    y = yy + 4800 - a
    M = mm + 12 * a - 3
    jd = dd + Fix((153 * M + 2) / 5) + 365 * y _
        + Fix(y / 4) - Fix(y / 100) + Fix(y / 400) - 32045
    If jd < 2299161 Then
        jd = dd + Fix((153 * M + 2) / 5) + 365 * y + Fix(y / 4) - 32083
    End If
    jdFromDate = jd
End Function

Function jdToDate(jd)
' doi ngay july thành ngay thuong
Dim a, b, c, d, e, M, Day, Month, Year
If jd > 2299160 Then
    a = jd + 32044
    b = Int((4 * a + 3) / 146097)
    c = a - Int((b * 146097) / 4)
 Else
    b = 0
    c = jd + 32082
End If
d = Int((4 * c + 3) / 1461)
e = c - Int((1461 * d) / 4)
M = Int((5 * e + 2) / 153)
Day = e - Int((153 * M + 2) / 5) + 1
Month = M + 3 - 12 * Int(M / 10)
Year = b * 100 + d - 4800 + Int(M / 10)
jdToDate = DateSerial(Year, Month, Day)

End Function

Function NewMoon(ByVal k As Long) As Double
    Dim T As Double, T2 As Double, T3 As Double, dr As Double
    Dim Jd1 As Double, M As Double, Mpr As Double
    Dim F As Double, C1 As Double, deltat As Double, JdNew As Double
    T = k / 1236.85 ' Time in Julian centuries from 1900 January 0.5
   T2 = T * T
    T3 = T2 * T
    dr = PI / 180
    Jd1 = 2415020.75933 + 29.53058868 * k + 0.0001178 * T2 - 0.000000155 * T3
    Jd1 = Jd1 + 0.00033 * Sin((166.56 + 132.87 * T - 0.009173 * T2) * dr)
    M = 359.2242 + 29.10535608 * k - 0.0000333 * T2 - 0.00000347 * T3
    Mpr = 306.0253 + 385.81691806 * k + 0.0107306 * T2 + 0.00001236 * T3
    F = 21.2964 + 390.67050646 * k - 0.0016528 * T2 - 0.00000239 * T3
    C1 = (0.1734 - 0.000393 * T) * Sin(M * dr) + 0.0021 * Sin(2 * dr * M)
    C1 = C1 - 0.4068 * Sin(Mpr * dr) + 0.0161 * Sin(dr * 2 * Mpr)
    C1 = C1 - 0.0004 * Sin(dr * 3 * Mpr)
    C1 = C1 + 0.0104 * Sin(dr * 2 * F) - 0.0051 * Sin(dr * (M + Mpr))
    C1 = C1 - 0.0074 * Sin(dr * (M - Mpr)) + 0.0004 * Sin(dr * (2 * F + M))
    C1 = C1 - 0.0004 * Sin(dr * (2 * F - M)) - 0.0006 * Sin(dr * (2 * F + Mpr))
    C1 = C1 + 0.001 * Sin(dr * (2 * F - Mpr)) + 0.0005 * Sin(dr * (2 * Mpr + M))
    If (T < -11) Then
        deltat = 0.001 + 0.000839 * T + 0.0002261 * T2 _
                - 0.00000845 * T3 - 0.000000081 * T * T3
    Else
        deltat = -0.000278 + 0.000265 * T + 0.000262 * T2
    End If
    JdNew = Jd1 + C1 - deltat
    NewMoon = JdNew
End Function

Function SunLongitude(ByVal jdn As Double) As Double
    Dim T As Double, T2 As Double, dr As Double, M As Double
    Dim L0 As Double, DL As Double, L As Double
    T = (jdn - 2451545) / 36525
        ' Time in Julian centuries from 2000-01-01 12:00:00 GMT
   T2 = T * T
    dr = PI / 180 ' degree to radian
   M = 357.5291 + 35999.0503 * T - 0.0001559 * T2 - 0.00000048 * T * T2
    L0 = 280.46645 + 36000.76983 * T + 0.0003032 * T2
    DL = (1.9146 - 0.004817 * T - 0.000014 * T2) * Sin(dr * M)
    DL = DL + (0.019993 - 0.000101 * T) * Sin(dr * 2 * M) _
        + 0.00029 * Sin(dr * 3 * M)
    L = L0 + DL ' true longitude, degree
   L = L * dr
    L = L - PI * 2 * (Fix(L / (PI * 2))) ' Normalize to (0, 2*PI)
   SunLongitude = L
End Function

Function getSunLongitude(ByVal dayNumber As Double, ByVal timeZone As Byte) As Long
    getSunLongitude = Fix(SunLongitude(dayNumber - 0.5 - timeZone / 24) / PI * 6)
End Function

Function getNewMoonDay(ByVal k As Long, ByVal timeZone As Long) As Long
    getNewMoonDay = Fix(NewMoon(k) + 0.5 + timeZone / 24)
End Function

Function getLunarMonth11(ByVal yy As Long, ByVal timeZone As Long) As Long
    Dim k As Long, off As Double, nm As Long, sunLong As Double
    off = jdFromDate(31, 12, yy) - 2415021
    k = Fix(off / 29.530588853)
    nm = getNewMoonDay(k, timeZone)
    sunLong = getSunLongitude(nm, timeZone) ' sun longitude at local midnight
   If (sunLong >= 9) Then
        nm = getNewMoonDay(k - 1, timeZone)
    End If
    getLunarMonth11 = nm
End Function


Function getLeapMonthOffset(ByVal a11 As Double, ByVal timeZone As Long) As Long
    Dim k As Long, last As Long, Arc As Long, I As Long
    k = Fix((a11 - 2415021.07699869) / 29.530588853 + 0.5)
    last = 0
    I = 1 ' We start with the month following lunar month 11
   Arc = getSunLongitude(getNewMoonDay(k + I, timeZone), timeZone)
    Do
        last = Arc
        I = I + 1
        Arc = getSunLongitude(getNewMoonDay(k + I, timeZone), timeZone)
    Loop While (Arc <> last And I < 14)
    getLeapMonthOffset = I - 1
End Function


Public Function KinhDoMatTroi(gio, phut, dd, mm, yy)
'tinh kinh ?o mat troi
Dim PI, a, y, M, T, jdn, L0, jd, c, theta, lambda
PI = 4 * Atn(1)
a = Int((14 - mm) / 12)
y = yy + 4800 - a
M = mm + 12 * a - 3
    jdn = dd + Int(((153 * M) + 2) / 5) + 365 * y + Int(y / 4) - Int(y / 100) + Int(y / 400) - 32045
    If jdn < 2299161 Then jdn = dd + Int((153 * M + 2) / 5) + 365 * y + Int(y / 4) - 32083
    jd = jdn + ((gio - 12) / 24) + (phut / 1440) - 7 / 24


T = (jd - 2451545#) / 36525
L0 = 280.46645 + 36000.76983 * T + 0.0003032 * T * T
M = (357.5291 + 35999.0503 * T - 0.0001559 * T * T - 0.00000048 * T * T * T) * PI / 180
c = ((1.9146 - 0.004817 * T - 0.000014 * T * T) * Sin(M)) + (0.01993 - 0.000101 * T) * Sin(2 * M) + 0.00029 * Sin(3 * M)
theta = L0 + c
lambda = theta - 0.00569 - 0.00478 * Sin((125.04 - 1934.136 * T) * PI / 180)
lambda = lambda - 360 * Int(lambda / 360)
KinhDoMatTroi = lambda

End Function













Function convertSolar2Lunar(dd, mm, yy, timeZone)

'Doi ngày duong dd/mm/yyyy ra ngày âm

Dim k, dayNumber, monthStart, a11, b11, lunarDay, lunarMonth, lunarYear, lunarLeap, diff, leapMonthDiff
dayNumber = jdFromDate(dd, mm, yy)
k = Int((dayNumber - 2415021.07699869) / 29.530588853)
monthStart = getNewMoonDay(k + 1, timeZone)
If monthStart > dayNumber Then monthStart = getNewMoonDay(k, timeZone)
a11 = getLunarMonth11(yy, timeZone)
b11 = a11

If a11 >= monthStart Then
    lunarYear = yy
    a11 = getLunarMonth11(yy - 1, timeZone)
 Else
    lunarYear = yy + 1
    b11 = getLunarMonth11(yy + 1, timeZone)
End If
lunarDay = dayNumber - monthStart + 1
diff = Int((monthStart - a11) / 29)
lunarLeap = 0
lunarMonth = diff + 11
If (b11 - a11) > 365 Then
    leapMonthDiff = getLeapMonthOffset(a11, timeZone)
    If diff >= leapMonthDiff Then
        lunarMonth = diff + 10
        If diff = leapMonthDiff Then lunarLeap = 1
    End If
End If
If lunarMonth > 12 Then lunarMonth = lunarMonth - 12

If (lunarMonth >= 11 And diff < 4) Then lunarYear = lunarYear - 1
 
convertSolar2Lunar = lunarDay & "/" & lunarMonth & "/" & lunarYear

End Function

Function THANGNODU(dd, mm, yy, timeZone)

'THANG NO DU

Dim k, dayNumber, monthStart, a11, b11, lunarDay, lunarMonth, lunarYear, lunarLeap, diff, leapMonthDiff
dayNumber = jdFromDate(dd, mm, yy)
k = Int((dayNumber - 2415021.07699869) / 29.530588853)
monthStart = getNewMoonDay(k + 1, timeZone)
If monthStart > dayNumber Then monthStart = getNewMoonDay(k, timeZone)
a11 = getLunarMonth11(yy, timeZone)
b11 = a11

If a11 >= monthStart Then
    lunarYear = yy
    a11 = getLunarMonth11(yy - 1, timeZone)
 Else
    lunarYear = yy + 1
    b11 = getLunarMonth11(yy + 1, timeZone)
End If
lunarDay = dayNumber - monthStart + 1
diff = Int((monthStart - a11) / 29)
lunarLeap = 0
lunarMonth = diff + 11
If (b11 - a11) > 365 Then
    leapMonthDiff = getLeapMonthOffset(a11, timeZone)
    If diff >= leapMonthDiff Then
        lunarMonth = diff + 10
        If diff = leapMonthDiff Then lunarLeap = 1
    End If
End If
If lunarMonth > 12 Then lunarMonth = lunarMonth - 12

If (lunarMonth >= 11 And diff < 4) Then lunarYear = lunarYear - 1
 
THANGNODU = getNewMoonDay(k + 1, timeZone) - getNewMoonDay(k, timeZone)

End Function

Function THANGNHUAN(dd, mm, yy, timeZone)

'THANG NHUAN

Dim k, dayNumber, monthStart, a11, b11, lunarDay, lunarMonth, lunarYear, lunarLeap, diff, leapMonthDiff
dayNumber = jdFromDate(dd, mm, yy)
k = Int((dayNumber - 2415021.07699869) / 29.530588853)
monthStart = getNewMoonDay(k + 1, timeZone)
If monthStart > dayNumber Then monthStart = getNewMoonDay(k, timeZone)
a11 = getLunarMonth11(yy, timeZone)
b11 = a11

If a11 >= monthStart Then
    lunarYear = yy
    a11 = getLunarMonth11(yy - 1, timeZone)
 Else
    lunarYear = yy + 1
    b11 = getLunarMonth11(yy + 1, timeZone)
End If
lunarDay = dayNumber - monthStart + 1
diff = Int((monthStart - a11) / 29)
lunarLeap = 0
lunarMonth = diff + 11
If (b11 - a11) > 365 Then
    leapMonthDiff = getLeapMonthOffset(a11, timeZone)

    THANGNHUAN = (leapMonthDiff + 10) Mod 12
End If

 


End Function






Function convertLunar2Solar(lunarDay, lunarMonth, lunarYear, lunarLeap, timeZone)

'Doi âm lich ra duong lich

Dim k, a11, b11, off, leapOff, leapMonth, monthStart
If (lunarMonth < 11) Then
    a11 = getLunarMonth11(lunarYear - 1, timeZone)
    b11 = getLunarMonth11(lunarYear, timeZone)
 Else
    a11 = getLunarMonth11(lunarYear, timeZone)
    b11 = getLunarMonth11(lunarYear + 1, timeZone)
End If
off = lunarMonth - 11
If (off < 0) Then off = off + 12

If (b11 - a11 > 365) Then
    leapOff = getLeapMonthOffset(a11, timeZone)
    leapMonth = leapOff - 2
    If (leapMonth < 0) Then leapMonth = leapMonth + 12
 
    If (lunarLeap <> 0 And lunarMonth <> leapMonth) Then
        convertLunar2Solar = Array(0, 0, 0)
    Else
        If (lunarLeap <> 0 Or off >= leapOff) Then off = off + 1
    End If
End If
k = Int(0.5 + (a11 - 2415021.07699869) / 29.530588853)
monthStart = getNewMoonDay(k + off, timeZone)
convertLunar2Solar = jdToDate(monthStart + lunarDay - 1)

End Function


Function Ngay(dd, mm, yy, timeZone)

'Doi ngày duong dd/mm/yyyy ra ngày âm: Ngay

Dim k, dayNumber, monthStart, a11, b11, lunarDay, lunarMonth, lunarYear, lunarLeap, diff, leapMonthDiff
dayNumber = jdFromDate(dd, mm, yy)
k = Int((dayNumber - 2415021.07699869) / 29.530588853)
monthStart = getNewMoonDay(k + 1, timeZone)
If monthStart > dayNumber Then monthStart = getNewMoonDay(k, timeZone)
a11 = getLunarMonth11(yy, timeZone)
b11 = a11

If a11 >= monthStart Then
    lunarYear = yy
    a11 = getLunarMonth11(yy - 1, timeZone)
 Else
    lunarYear = yy + 1
    b11 = getLunarMonth11(yy + 1, timeZone)
End If
lunarDay = dayNumber - monthStart + 1
diff = Int((monthStart - a11) / 29)
lunarLeap = 0
lunarMonth = diff + 11
If (b11 - a11) > 365 Then
    leapMonthDiff = getLeapMonthOffset(a11, timeZone)
    If diff >= leapMonthDiff Then
        lunarMonth = diff + 10
        If diff = leapMonthDiff Then lunarLeap = 1
    End If
End If
If lunarMonth > 12 Then lunarMonth = lunarMonth - 12

If (lunarMonth >= 11 And diff < 4) Then lunarYear = lunarYear - 1
 
Ngay = lunarDay
End Function
Function Thang(dd, mm, yy, timeZone)

'Doi ngày duong dd/mm/yyyy ra ngày âm: Thang

Dim k, dayNumber, monthStart, a11, b11, lunarDay, lunarMonth, lunarYear, lunarLeap, diff, leapMonthDiff
dayNumber = jdFromDate(dd, mm, yy)
k = Int((dayNumber - 2415021.07699869) / 29.530588853)
monthStart = getNewMoonDay(k + 1, timeZone)
If monthStart > dayNumber Then monthStart = getNewMoonDay(k, timeZone)
a11 = getLunarMonth11(yy, timeZone)
b11 = a11

If a11 >= monthStart Then
    lunarYear = yy
    a11 = getLunarMonth11(yy - 1, timeZone)
 Else
    lunarYear = yy + 1
    b11 = getLunarMonth11(yy + 1, timeZone)
End If
lunarDay = dayNumber - monthStart + 1
diff = Int((monthStart - a11) / 29)
lunarLeap = 0
lunarMonth = diff + 11
If (b11 - a11) > 365 Then
    leapMonthDiff = getLeapMonthOffset(a11, timeZone)
    If diff >= leapMonthDiff Then
        lunarMonth = diff + 10
        If diff = leapMonthDiff Then lunarLeap = 1
    End If
End If
If lunarMonth > 12 Then lunarMonth = lunarMonth - 12

If (lunarMonth >= 11 And diff < 4) Then lunarYear = lunarYear - 1
 
Thang = lunarMonth

End Function

Function Nam(dd, mm, yy, timeZone)

'Doi ngày duong dd/mm/yyyy ra ngày âm

Dim k, dayNumber, monthStart, a11, b11, lunarDay, lunarMonth, lunarYear, lunarLeap, diff, leapMonthDiff
dayNumber = jdFromDate(dd, mm, yy)
k = Int((dayNumber - 2415021.07699869) / 29.530588853)
monthStart = getNewMoonDay(k + 1, timeZone)
If monthStart > dayNumber Then monthStart = getNewMoonDay(k, timeZone)
a11 = getLunarMonth11(yy, timeZone)
b11 = a11

If a11 >= monthStart Then
    lunarYear = yy
    a11 = getLunarMonth11(yy - 1, timeZone)
 Else
    lunarYear = yy + 1
    b11 = getLunarMonth11(yy + 1, timeZone)
End If
lunarDay = dayNumber - monthStart + 1
diff = Int((monthStart - a11) / 29)
lunarLeap = 0
lunarMonth = diff + 11
If (b11 - a11) > 365 Then
    leapMonthDiff = getLeapMonthOffset(a11, timeZone)
    If diff >= leapMonthDiff Then
        lunarMonth = diff + 10
        If diff = leapMonthDiff Then lunarLeap = 1
    End If
End If
If lunarMonth > 12 Then lunarMonth = lunarMonth - 12

If (lunarMonth >= 11 And diff < 4) Then lunarYear = lunarYear - 1
 
Nam = lunarYear

End Function

Function Duongcongkynhat(dd, mm, yy, timeZone)

'Doi ngày duong dd/mm/yyyy ra ngày âm

Dim k, dayNumber, monthStart, a11, b11, lunarDay, lunarMonth, lunarYear, lunarLeap, NgayAm, diff, leapMonthDiff
dayNumber = jdFromDate(dd, mm, yy)
k = Int((dayNumber - 2415021.07699869) / 29.530588853)
monthStart = getNewMoonDay(k + 1, timeZone)
If monthStart >= dayNumber Then monthStart = getNewMoonDay(k, timeZone)
a11 = getLunarMonth11(yy, timeZone)
b11 = a11

If a11 >= monthStart Then
    lunarYear = yy
    a11 = getLunarMonth11(yy - 1, timeZone)
 Else
    lunarYear = yy + 1
    b11 = getLunarMonth11(yy + 1, timeZone)
End If
lunarDay = dayNumber - monthStart + 1
diff = Int((monthStart - a11) / 29)
lunarLeap = 0
lunarMonth = diff + 11
If (b11 - a11) > 365 Then
    leapMonthDiff = getLeapMonthOffset(a11, timeZone)
    If diff >= leapMonthDiff Then
        lunarMonth = diff + 10
        If diff = leapMonthDiff Then lunarLeap = 1
    End If
End If
If lunarMonth > 12 Then lunarMonth = lunarMonth - 12

If (lunarMonth >= 11 And diff < 4) Then lunarYear = lunarYear - 1
 
NgayAm = lunarDay & "/" & lunarMonth
Duongcongkynhat = ""

If NgayAm = "13/1" Or NgayAm = "11/2" Or NgayAm = "9/3" Or NgayAm = "7/4" Or NgayAm = "5/5" Or NgayAm = "3/6" Or NgayAm = "8/7" Or NgayAm = "29/7" Or NgayAm = "27/8" Or NgayAm = "25/9" Or NgayAm = "23/10" Or NgayAm = "21/11" Or NgayAm = "19/12" Then Duongcongkynhat = 1

End Function

Function TamNuongSat(dd, mm, yy, timeZone)

'Kiem tra ngay dd/mm/yyyy có phai ngay Tam Nuong Sat

Dim k, dayNumber, monthStart, a11, b11, lunarDay, lunarMonth, lunarYear, lunarLeap, TamNuong, diff, leapMonthDiff
dayNumber = jdFromDate(dd, mm, yy)
k = Int((dayNumber - 2415021.07699869) / 29.530588853)
monthStart = getNewMoonDay(k + 1, timeZone)
If monthStart >= dayNumber Then monthStart = getNewMoonDay(k, timeZone)
a11 = getLunarMonth11(yy, timeZone)
b11 = a11

If a11 >= monthStart Then
    lunarYear = yy
    a11 = getLunarMonth11(yy - 1, timeZone)
 Else
    lunarYear = yy + 1
    b11 = getLunarMonth11(yy + 1, timeZone)
End If
lunarDay = dayNumber - monthStart + 1
diff = Int((monthStart - a11) / 29)
lunarLeap = 0
lunarMonth = diff + 11
If (b11 - a11) > 365 Then
    leapMonthDiff = getLeapMonthOffset(a11, timeZone)
    If diff >= leapMonthDiff Then
        lunarMonth = diff + 10
        If diff = leapMonthDiff Then lunarLeap = 1
    End If
End If
If lunarMonth > 12 Then lunarMonth = lunarMonth - 12

If (lunarMonth >= 11 And diff < 4) Then lunarYear = lunarYear - 1
 

TamNuongSat = ""

If lunarDay = 2 Or lunarDay = 7 Or lunarDay = 13 Or lunarDay = 18 Or lunarDay = 22 Or lunarDay = 27 Then TamNuongSat = 1

End Function

Function NgayNguyetKy(dd, mm, yy, timeZone)

'Kiem tra ngay dd/mm/yyyy có phai ngay Nguyet Ky

Dim k, dayNumber, monthStart, a11, b11, lunarDay, lunarMonth, lunarYear, lunarLeap, TamNuong, diff, leapMonthDiff
dayNumber = jdFromDate(dd, mm, yy)
k = Int((dayNumber - 2415021.07699869) / 29.530588853)
monthStart = getNewMoonDay(k + 1, timeZone)
If monthStart >= dayNumber Then monthStart = getNewMoonDay(k, timeZone)
a11 = getLunarMonth11(yy, timeZone)
b11 = a11

If a11 >= monthStart Then
    lunarYear = yy
    a11 = getLunarMonth11(yy - 1, timeZone)
 Else
    lunarYear = yy + 1
    b11 = getLunarMonth11(yy + 1, timeZone)
End If
lunarDay = dayNumber - monthStart + 1
diff = Int((monthStart - a11) / 29)
lunarLeap = 0
lunarMonth = diff + 11
If (b11 - a11) > 365 Then
    leapMonthDiff = getLeapMonthOffset(a11, timeZone)
    If diff >= leapMonthDiff Then
        lunarMonth = diff + 10
        If diff = leapMonthDiff Then lunarLeap = 1
    End If
End If
If lunarMonth > 12 Then lunarMonth = lunarMonth - 12

If (lunarMonth >= 11 And diff < 4) Then lunarYear = lunarYear - 1
 

NgayNguyetKy = ""

If lunarDay = 5 Or lunarDay = 14 Or lunarDay = 23 Then NgayNguyetKy = 1

End Function
NIÊN | LỊCH VẠN NIÊN | LICH VẠN NIÊN 2013

Thứ Tư, 16 tháng 9, 2015

LỊCH VẠN SỰ 2016


TẢI LỊCH VẠN SỰ 2016


TTL Blog chia sẽ các bộ lịch giúp bạn tra khảo ngày tháng của năm 2016.

  • Lịch vạn niên excel 2016 và các năm khác: DOWNLOAD
 

  • Lịch theo tháng 2016 file PDF: DOWNLOAD
  • Lịch vạn sự 2016 SCAN: chưa có
Xem thêm:
Tử vi 2016
Lịch vạn niên excel



































Từ khóa: Lịch vạn sự 2016, lịch vạn sự 2016 scan, lịch vạn sự 2016 pdf, sách lịch vạn sự 2016

GIỌNG NÓI ÂM THANH TRONG NHÂN TƯỚNG

Chúng ta biết rằng khi ốm, khi bệnh giọng nói sẽ khác đi, khi vui giọng nói lại khác, khi mạnh mẽ giọng nói cũng mạnh mẽ có hồn, khi ta buồn thì ngược lại... Như vậy âm thanh giọng nói có sự bắt nguồn và phản ánh tố chất bên trong.

  • Trong đông y có sử dụng âm thanh để bắt bệnh.
  • Trong điều tra hình sự để phân biệt sự giả dối
  • ....
  • Và trong đời sống ta sử dụng âm thanh để thể hiện nhiều thứ, ví dụ như: "Em yêu!", "Em ơi", "Em Bi của bố đi học có ngoan không?"...

Bài viết bên dưới cho bạn một khái niện về âm thanh giọng nói trong nhân tướng.

Âm thanh là một phạm trù vật chất ta có thể sinh ra và cảm nhận, hãy tận hưởng...

Âm thanh trong tướng học cũng như Môn học đóng một vai trò trọng yếu , giúp biết được rất nhiều về con người trên nhiều bình diện. Do đó, cổ tướng học đặc biệt chú trọng đến phần xem tướng âm thanh.
thuy kieu
Hình minh họa Thúy Kiều

Đọc thêm »