<%
"الخيار صريح."
'******************************************************************************************************************************************************************
اسم الفصل: ChinaDay
'غاية:
' حساب التقويم القمري ينبع وفروع التاريخ وبرج السنة بناء على التاريخ المدخل
الاستخدام:
'المعلمة الأولى هي معلمة الإدخال إذا لم يتم ملؤها، فستكون افتراضيًا لليوم الحالي.
'احسب التواريخ بعد 8/2/1921 فقط
##---------------------------------------------- -##
'"يوم الصين الخافت"."
' Dim sDay، sWeekDay، sChinaDay، sChinaYear، sChinaAni
'Set objChinaDay = New ChinaDay
' اتصل بـ objChinaDay.Action(""،sDay,sWeekDay,sChinaYear,sChinaDay,sChinaAni)
' Response.Write sDay&"<BR>"
' Response.Write sWeekDay&"<BR>"
' Response.Write sChinaYear&"<BR>"
' Response.Write sChinaDay&"<BR>"
' Response.Write sChinaAni&"<BR>"
##---------------------------------------------- -##
تعديل بواسطة:Babyt(Artest)
البريد: [email protected]
مرحبا بكم في:
" http://blog.csdn.net/babyt/
http://www.facesun.cn
تم الإنشاء بتاريخ: 2005-2-20
حقوق الطبع والنشر: هذا الرمز ليس أصليًا وتم جمعه في عام 2001. المؤلف الأصلي غير معروف.
'الترخيص: مجاني
'********************************************************************************************************************************************************************************* * ***
ClassChinaDay
خافت arrWeekName(7)، MonthAdd(11)، NongliData(99)
ديم arrTianGan(9)، arrDiZhi(11)، arrShuXiang(11)، arrDayName(30)، arrMonName(12)
خافت curTime، curYear، curMonth، curDay، curWeekday
Dim i، m، n، k، isEnd، bit، TheDate
'تهيئة البيانات
SubClass_Initialize()
'------------------------------------------------ - -
'"تحديد سلسلة العرض."'
""اسم الاسبوع""
arrWeekName(0) = "*"
arrWeekName(1) = "الأحد"
arrWeekName(2) = "الاثنين"
arrWeekName(3) = "الثلاثاء"
arrWeekName(4) = "الأربعاء"
arrWeekName(5) = "الخميس"
arrWeekName(6) = "الجمعة"
arrWeekName(7) = "السبت"
"اسم الجذع السماوي."
arrTianGan(0) = "أ"
arrTianGan(1) = "ب"
arrTianGan(2) = "C"
arrTianGan(3) = "丁"
arrTianGan(4) = "五"
arrTianGan(5) = "自"
arrTianGan(6) = "庚"
arrTianGan(7) = "شين"
arrTianGan(8) = "嬣"
arrTianGan(9) = "癸"
"اسم الفرع الأرضي."
arrDiZhi(0) = "子"
arrDiZhi(1) = "قبيح"
arrDiZhi(2) = "يين"
arrDiZhi(3) = "卯"
arrDiZhi(4) = "陈"
arrDiZhi(5) = "巳"
arrDiZhi(6) = "بعد الظهر"
arrDiZhi(7) = "لا"
arrDiZhi(8) = "شين"
arrDiZhi(9) = "أنت"
arrDiZhi(10) = "戌"
arrDiZhi(11) = "海"
"اسم البروج."
arrShuXiang(0) = "الفئران"
arrShuXiang(1) = "البقرة"
arrShuXiang(2) = "النمر"
arrShuXiang(3) = "أرنب"
arrShuXiang(4) = "龙"
arrShuXiang(5) = "الثعبان"
arrShuXiang(6) = "الحصان"
arrShuXiang(7) = "خروف"
arrShuXiang(8) = "القرد"
arrShuXiang(9) = "دجاج"
arrShuXiang(10) = "كلب"
arrShuXiang(11) = "خنزير"
"اسم تاريخ التقويم القمري."
arrDayName(0) = "*"
arrDayName(1) = "اليوم الأول في المدرسة الإعدادية"
arrDayName(2) = "اليوم الثاني من المدرسة الإعدادية"
arrDayName(3) = "اليوم الثالث من المدرسة الإعدادية"
arrDayName(4) = "اليوم الرابع"
arrDayName(5) = "اليوم الخامس من الشهر القمري"
arrDayName(6) = "اليوم السادس من الشهر القمري"
arrDayName(7) = "اليوم السابع"
arrDayName(8) = "اليوم الثامن من الشهر القمري"
arrDayName(9) = "اليوم التاسع من الشهر القمري"
arrDayName(10) = "اليوم العاشر من الشهر القمري"
arrDayName(11) = "أحد عشر"
arrDayName(12) = "اثنا عشر"
arrDayName(13) = "ثلاثة عشر"
arrDayName(14) = "أربعة عشر"
arrDayName(15) = "خمسة عشر"
arrDayName(16) = "ستة عشر"
arrDayName(17) = "سبعة عشر"
arrDayName(18) = "ثمانية عشر"
arrDayName(19) = "تسعة عشر"
arrDayName(20) = "عشرون"
arrDayName(21) = "واحد وعشرون"
arrDayName(22) = "اثنان وعشرون"
arrDayName(23) = "ثلاثة وعشرون"
arrDayName(24) = "أربعة وعشرون"
arrDayName(25) = "خمسة وعشرون"
arrDayName(26) = "ستة وعشرون"
arrDayName(27) = "سبعة وعشرون"
arrDayName(28) = "ثمانية وعشرون"
arrDayName(29) = "تسعة وعشرون"
arrDayName(30) = "ثلاثون"
"اسم الشهر القمري."
arrMonName(0) = "*"
arrMonName(1) = "إيجابي"
arrMonName(2) = "二"
arrMonName(3) = "三"
arrMonName(4) = "أربعة"
arrMonName(5) = "五"
arrMonName(6) = "六"
arrMonName(7) = "سبعة"
arrMonName(8) = "ثمانية"
arrMonName(9) = "九"
arrMonName(10) = "十"
arrMonName(11) = "أحد عشر"
arrMonName(12) = "رع"
'------------------------------------------------ - -------
تعريف بيانات التسامح
'"عدد الأيام قبل كل شهر في التقويم الغريغوري"."
إضافة شهر(0) = 0
إضافة شهر(1) = 31
إضافة شهر(2) = 59
إضافة شهر(3) = 90
إضافة شهر(4) = 120
إضافة شهر(5) = 151
إضافة شهر(6) = 181
إضافة شهر(7) = 212
إضافة شهر(8) = 243
إضافة شهر(9) = 273
إضافة شهر(10) = 304
إضافة شهر(11) = 334
"بيانات التقويم القمري."
NongliData(0) = 2635
NongliData(1) = 333387
NongliData(2) = 1701
نونغليداتا (3) = 1748
NongliData(4) = 267701
NongliData(5) = 694
نونغليداتا (6) = 2391
NongliData(7) = 133423
نونغليداتا (8) = 1175
NongliData(9) = 396438
NongliData(10) = 3402
NongliData(11) = 3749
NongliData(12) = 331177
نونغليداتا (13) = 1453
NongliData(14) = 694
NongliData(15) = 201326
NongliData(16) = 2350
NongliData(17) = 465197
نونغليداتا (18) = 3221
NongliData(19) = 3402
NongliData(20) = 400202
NongliData(21) = 2901
نونغليداتا (22) = 1386
NongliData(23) = 267611
NongliData(24) = 605
نونغليداتا (25) = 2349
NongliData(26) = 137515
نونغليداتا (27) = 2709
NongliData(28) = 464533
نونغليداتا (29) = 1738
NongliData(30) = 2901
NongliData(31) = 330421
نونغليداتا (32) = 1242
نونغليداتا (33) = 2651
NongliData(34) = 199255
نونغليداتا (35) = 1323
NongliData(36) = 529706
NongliData(37) = 3733
NongliData(38) = 1706
NongliData(39) = 398762
نونغليداتا (40) = 2741
NongliData(41) = 1206
NongliData(42) = 267438
نونغليداتا (43) = 2647
نونغليداتا (44) = 1318
NongliData(45) = 204070
NongliData(46) = 3477
NongliData(47) = 461653
نونغليداتا (48) = 1386
NongliData(49) = 2413
NongliData(50) = 330077
NongliData(51) = 1197
نونغليداتا (52) = 2637
NongliData(53) = 268877
NongliData(54) = 3365
NongliData(55) = 531109
NongliData(56) = 2900
NongliData(57) = 2922
NongliData(58) = 398042
NongliData(59) = 2395
نونغليداتا (60) = 1179
NongliData(61) = 267415
نونغليداتا (62) = 2635
NongliData(63) = 661067
نونغليداتا (64) = 1701
نونغليداتا (65) = 1748
NongliData(66) = 398772
نونغليداتا (67) = 2742
نونغليداتا (68) = 2391
NongliData(69) = 330031
NongliData(70) = 1175
نونغليداتا (71) = 1611
NongliData(72) = 200010
NongliData(73) = 3749
NongliData(74) = 527717
NongliData(75) = 1452
نونغليداتا (76) = 2742
NongliData(77) = 332397
نونغليداتا (78) = 2350
NongliData(79) = 3222
NongliData(80) = 268949
NongliData(81) = 3402
NongliData(82) = 3493
NongliData(83) = 133973
نونغليداتا (84) = 1386
NongliData(85) = 464219
NongliData(86) = 605
نونغليداتا (87) = 2349
NongliData(88) = 334123
NongliData(89) = 2709
NongliData(90) = 2890
NongliData(91) = 267946
NongliData(92) = 2773
NongliData(93) = 592565
نونغليداتا (94) = 1210
NongliData(95) = 2651
NongliData(96) = 395863
نونغليداتا (97) = 1323
NongliData(98) = 2707
NongliData(99) = 265877
نهاية الفرعية
'################################################################################################## #########
'الطريقة الرئيسية للعمل
'inDay أدخل التاريخ، إذا لم يتم إدخاله، فسيتم تعيينه افتراضيًا على التاريخ الحالي
تاريخ التنسيق الصيني sDay
' sWeekDay يوم من أيام الأسبوع
'sالصين السنة القمرية الجديدة
'sChinaDay اليوم القمري
' sChinaAni علامة زودياك
'################################################################################################## #########
إجراء الوظيفة العامة (inDay، sDay، sWeekDay، sChinaYear، sChinaDay، sChinaAni)
'تحويل التاريخ ليتم تحويله
إذا كان inDay = "" أو ليس IsDate(inDay) إذن
'احصل على وقت النظام الحالي
كيرتيمي = الآن ()
آخر
curTime = CDate(inDay)
نهاية إذا
إذا كان Datediff("d",curTime,Cdate("1921-2-8"))>0 إذن
وظيفة الخروج
نهاية إذا
'قم بإنشاء السنة التقويمية الغريغورية الحالية والشهر واليوم ==> sDay
curYear = السنة(curTime)
curMonth = شهر(curTime)
curDay = يوم (curTime)
sDay = curYear&"السنة"
إذا (curMonth <10) ثم
sDay = sDay&"0"&curMonth&"الشهر"
آخر
sDay = sDay&curMonth&"الشهر"
نهاية إذا
إذا (curDay <10) ثم
sDay = sDay&"0"&curDay&"日"
آخر
sDay = sDay&curDay&"日"
نهاية إذا
'إنشاء أسبوع التقويم الغريغوري الحالي ==> sWeekDay
curWeekday = أيام الأسبوع (curTime)
sWeekDay = arrWeekName(curWeekday)
'احسب عدد الأيام حتى الوقت الأولي من 8 فبراير 1921: 8-2-1921 (اليوم الأول من الشهر القمري الأول)
TheDate = (curYear - 1921) * 365 + Int((curYear - 1921) / 4) + curDay + MonthAdd(curMonth - 1) - 38
إذا ((curYear Mod 4) = 0 AND curMonth > 2) إذن
التاريخ = التاريخ + 1
نهاية إذا
'احسب السيقان السماوية والفروع الأرضية والأشهر والأيام من التقويم القمري
النهاية = 0
م = 0
'--------------------------------------------
يفعل
إذا (NongliData(m) <4095) ثم
ك=11
آخر
ك = 12
انتهي إذا
ن = ك
'--------------------------------------------
يفعل
إذا (ن <0) ثم
قم بالخروج
نهاية إذا
'احصل على قيمة الرقم الثنائي n لـ NongliData(m)
بت = NongliData (م)
لأني = 1 إلى ن الخطوة 1
بت = كثافة العمليات (بت / 2)
التالي
بت = بت مود 2
إذا (TheDate <= 29 + بت) إذن
النهاية = 1
قم بالخروج
نهاية إذا
TheDate = TheDate - 29 بت
ن=ن-1
حلقة
'--------------------------------------------
إذا (isEnd = 1) ثم
قم بالخروج
نهاية إذا
م = م + 1
حلقة
'--------------------------------------------
السنة الحالية = 1921 + م
curMonth = ك - ن + 1
curDay = TheDate
إذا (ك = 12) ثم
إذا (curMonth = (Int(NongliData(m) / 65536) + 1)) إذن
curMonth = 1 - curMonth
ElseIf (curMonth > (Int(NongliData(m) / 65536) + 1)) ثم
curMonth = curMonth - 1
انتهي إذا
نهاية إذا
'إنشاء سيقان سماوية وفروع أرضية بالتقويم القمري ==> sChinaYear
sChinaYear = "التقويم القمري"&arrTianGan(((curYear - 4) Mod 60) Mod 10)&arrDiZhi(((curYear - 4) Mod 60) Mod 12)&"السنة"
'إنشاء دائرة الأبراج ==> sChinaAni
sChinaAni = arrShuXiang(((curYear - 4) Mod 60) Mod 12)
'إنشاء الشهر واليوم القمري ==> NongliDayStr
إذا (curMonth <1) ثم
sChinaDay = "القفزة"&arrMonName(-1 * curMonth)
آخر
sChinaDay = arrMonName(curMonth)
نهاية إذا
sChinaDay = sChinaDay&"الشهر"
sChinaDay = sChinaDay & arrDayName(curDay)
وظيفة النهاية
نهاية الفصل
%>