if (!isset($year)) { $year = "1975"; }
if (!isset($month)) { $month = "01"; }
if (!isset($day)) { $day = "01"; }
if (!isset($oval_year)) { $oval_year = date("Y"); }
if (!isset($oval_month)) { $oval_month = date("m"); }
if (!isset($oval_day)) { $oval_day = date("d"); }
function is_girl($age, $month) {
//0 = Girl 1 = Boy
$cal_m[1] = array(0,1,0,1,0,1,1,0,1,0,1,0,1,1,1,0,1,1,0,1,0,1,0,1,0,1,1,0);
$cal_m[2] = array(1,0,1,0,1,1,0,1,0,1,0,1,0,0,0,1,0,1,1,0,1,0,1,0,1,0,1,1);
$cal_m[3] = array(0,1,0,0,1,0,1,1,1,0,1,0,0,1,1,0,1,0,1,1,0,1,0,1,0,1,0,1);
$cal_m[4] = array(1,0,1,0,0,1,1,0,0,1,0,0,0,0,0,1,0,1,0,1,1,1,1,0,1,0,1,0);
$cal_m[5] = array(1,0,1,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,1,0,1,0,1,1,0);
$cal_m[6] = array(1,1,1,0,0,0,1,1,1,0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,1,0,1,0);
$cal_m[7] = array(1,1,1,0,0,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0,1,0,1,1,0,1,0,1);
$cal_m[8] = array(1,1,1,0,1,0,0,1,1,1,1,1,0,0,0,1,0,1,0,1,0,1,0,1,1,0,1,0);
$cal_m[9] = array(1,1,1,0,0,1,0,1,0,1,1,1,0,0,0,0,0,0,1,0,1,0,1,0,1,1,0,1);
$cal_m[10] = array(1,1,0,0,0,1,0,1,0,1,1,0,0,0,0,0,0,0,1,1,0,1,0,1,0,1,1,0);
$cal_m[11] = array(1,0,1,0,0,1,0,1,0,0,0,0,1,0,0,0,1,1,1,0,1,0,1,0,1,1,0,1);
$cal_m[12] = array(1,0,1,0,0,0,0,1,0,1,0,0,1,1,1,1,1,1,1,1,0,0,0,1,0,1,0,1);
if ($age >= 18 && $age <= 45 && $month >= 1 && $month<= 12) { return $cal_m[$month][$age-18] == 0; }
else { return false; }
}
function high_risk($age, $month) {
if ($age == 26 && $month == 1) { return true; }
elseif ($age == 20 && $month == 2) { return true; }
elseif ($age == 34 && $month == 2) { return true; }
elseif ($age == 22 && $month == 3) { return true; }
elseif ($age == 26 && $month == 3) { return true; }
elseif ($age == 31 && $month == 5) { return true; }
elseif ($age == 32 && $month == 5) { return true; }
elseif ($age == 39 && $month == 5) { return true; }
elseif ($age == 19 && $month == 11) { return true; }
elseif ($age == 22 && $month == 11) { return true; }
elseif ($age == 18 && $month == 12) { return true; }
elseif ($age == 29 && $month == 12) { return true; }
elseif ($age > 45 || $age < 18) { return true; }
else { return false; }
}
function chinese_age($year, $month, $day, $year2, $month2, $day2) {
//Chinese new years in Time Zone 1 and Longitude 15
$new_years_from_1924 = array (
'19240205', '19250124', '19260212', '19270202', '19280122', '19290209', '19300129',
'19310217', '19320206', '19330126', '19340214', '19350203', '19360124', '19370211',
'19380131', '19390219', '19400208', '19410127', '19420215', '19430205', '19440125',
'19450212', '19460202', '19470122', '19480210', '19490129', '19500216', '19510206',
'19520126', '19530214', '19540203', '19550124', '19560211', '19570130', '19580218',
'19590207', '19600128', '19610215', '19620205', '19630125', '19640213', '19650201',
'19660121', '19670209', '19680129', '19690216', '19700206', '19710126', '19720215',
'19730203', '19740123', '19750211', '19760131', '19770218', '19780207', '19790128',
'19800216', '19810204', '19820125', '19830213', '19840202', '19850121', '19860209',
'19870129', '19880217', '19890206', '19900126', '19910214', '19920203', '19930122',
'19940210', '19950130', '19960219', '19970207', '19980128', '19990216', '20000205',
'20010124', '20020212', '20030201', '20040121', '20050208', '20060129', '20070217');
$greg_birth = sprintf("%04d%02d%02d", $year, $month, $day);
$today_date = sprintf("%04d%02d%02d", $year2, $month2, $day2);
$age = 1;
for ($i = 0; $i < count($new_years_from_1924); $i++) {
if ($greg_birth < $new_years_from_1924[$i] && $today_date>=$new_years_from_1924[$i]) $age++;
}
return $age;
}
function getchinesedate($year, $month, $day) {
$cdate_monthdata=array(
0=>array(8,0,0,0,0,0,0,0,0,0,0,0,29,30,7,1),
1=>array(0,29,30,29,29,30,29,30,29,30,30,30,29,0,8,2),
2=>array(0,30,29,30,29,29,30,29,30,29,30,30,30,0,9,3),
3=>array(5,29,30,29,30,29,29,30,29,29,30,30,29,30,10,4),
4=>array(0,30,30,29,30,29,29,30,29,29,30,30,29,0,1,5),
5=>array(0,30,30,29,30,30,29,29,30,29,30,29,30,0,2,6),
6=>array(4,29,30,30,29,30,29,30,29,30,29,30,29,30,3,7),
7=>array(0,29,30,29,30,29,30,30,29,30,29,30,29,0,4,8),
8=>array(0,30,29,29,30,30,29,30,29,30,30,29,30,0,5,9),
9=>array(2,29,30,29,29,30,29,30,29,30,30,30,29,30,6,10),
10=>array(0,29,30,29,29,30,29,30,29,30,30,30,29,0,7,11),
11=>array(6,30,29,30,29,29,30,29,29,30,30,29,30,30,8,12),
12=>array(0,30,29,30,29,29,30,29,29,30,30,29,30,0,9,1),
13=>array(0,30,30,29,30,29,29,30,29,29,30,29,30,0,10,2),
14=>array(5,30,30,29,30,29,30,29,30,29,30,29,29,30,1,3),
15=>array(0,30,29,30,30,29,30,29,30,29,30,29,30,0,2,4),
16=>array(0,29,30,29,30,29,30,30,29,30,29,30,29,0,3,5),
17=>array(2,30,29,29,30,29,30,30,29,30,30,29,30,29,4,6),
18=>array(0,30,29,29,30,29,30,29,30,30,29,30,30,0,5,7),
19=>array(7,29,30,29,29,30,29,29,30,30,29,30,30,30,6,8),
20=>array(0,29,30,29,29,30,29,29,30,30,29,30,30,0,7,9),
21=>array(0,30,29,30,29,29,30,29,29,30,29,30,30,0,8,10),
22=>array(5,30,29,30,30,29,29,30,29,29,30,29,30,30,9,11),
23=>array(0,29,30,30,29,30,29,30,29,29,30,29,30,0,10,12),
24=>array(0,29,30,30,29,30,30,29,30,29,30,29,29,0,1,1),
25=>array(4,30,29,30,29,30,30,29,30,30,29,30,29,30,2,2),
26=>array(0,29,29,30,29,30,29,30,30,29,30,30,29,0,3,3),
27=>array(0,30,29,29,30,29,30,29,30,29,30,30,30,0,4,4),
28=>array(2,29,30,29,29,30,29,29,30,29,30,30,30,30,5,5),
29=>array(0,29,30,29,29,30,29,29,30,29,30,30,30,0,6,6),
30=>array(6,29,30,30,29,29,30,29,29,30,29,30,30,29,7,7),
31=>array(0,30,30,29,30,29,30,29,29,30,29,30,29,0,8,8),
32=>array(0,30,30,30,29,30,29,30,29,29,30,29,30,0,9,9),
33=>array(5,29,30,30,29,30,30,29,30,29,30,29,29,30,10,10),
34=>array(0,29,30,29,30,30,29,30,29,30,30,29,30,0,1,11),
35=>array(0,29,29,30,29,30,29,30,30,29,30,30,29,0,2,12),
36=>array(3,30,29,29,30,29,29,30,30,29,30,30,30,29,3,1),
37=>array(0,30,29,29,30,29,29,30,29,30,30,30,29,0,4,2),
38=>array(7,30,30,29,29,30,29,29,30,29,30,30,29,30,5,3),
39=>array(0,30,30,29,29,30,29,29,30,29,30,29,30,0,6,4),
40=>array(0,30,30,29,30,29,30,29,29,30,29,30,29,0,7,5),
41=>array(6,30,30,29,30,30,29,30,29,29,30,29,30,29,8,6),
42=>array(0,30,29,30,30,29,30,29,30,29,30,29,30,0,9,7),
43=>array(0,29,30,29,30,29,30,30,29,30,29,30,29,0,10,8),
44=>array(4,30,29,30,29,30,29,30,29,30,30,29,30,30,1,9),
45=>array(0,29,29,30,29,29,30,29,30,30,30,29,30,0,2,10),
46=>array(0,30,29,29,30,29,29,30,29,30,30,29,30,0,3,11),
47=>array(2,30,30,29,29,30,29,29,30,29,30,29,30,30,4,12),
48=>array(0,30,29,30,29,30,29,29,30,29,30,29,30,0,5,1),
49=>array(7,30,29,30,30,29,30,29,29,30,29,30,29,30,6,2),
50=>array(0,29,30,30,29,30,30,29,29,30,29,30,29,0,7,3),
51=>array(0,30,29,30,30,29,30,29,30,29,30,29,30,0,8,4),
52=>array(5,29,30,29,30,29,30,29,30,30,29,30,29,30,9,5),
53=>array(0,29,30,29,29,30,30,29,30,30,29,30,29,0,10,6),
54=>array(0,30,29,30,29,29,30,29,30,30,29,30,30,0,1,7),
55=>array(3,29,30,29,30,29,29,30,29,30,29,30,30,30,2,8),
56=>array(0,29,30,29,30,29,29,30,29,30,29,30,30,0,3,9),
57=>array(8,30,29,30,29,30,29,29,30,29,30,29,30,29,4,10),
58=>array(0,30,30,30,29,30,29,29,30,29,30,29,30,0,5,11),
59=>array(0,29,30,30,29,30,29,30,29,30,29,30,29,0,6,12),
60=>array(6,30,29,30,29,30,30,29,30,29,30,29,30,29,7,1),
61=>array(0,30,29,30,29,30,29,30,30,29,30,29,30,0,8,2),
62=>array(0,29,30,29,29,30,29,30,30,29,30,30,29,0,9,3),
63=>array(4,30,29,30,29,29,30,29,30,29,30,30,30,29,10,4),
64=>array(0,30,29,30,29,29,30,29,30,29,30,30,30,0,1,5),
65=>array(0,29,30,29,30,29,29,30,29,29,30,30,29,0,2,6),
66=>array(3,30,30,30,29,30,29,29,30,29,29,30,30,29,3,7),
67=>array(0,30,30,29,30,30,29,29,30,29,30,29,30,0,4,8),
68=>array(7,29,30,29,30,30,29,30,29,30,29,30,29,30,5,9),
69=>array(0,29,30,29,30,29,30,30,29,30,29,30,29,0,6,10),
70=>array(0,30,29,29,30,29,30,30,29,30,30,29,30,0,7,11),
71=>array(5,29,30,29,29,30,29,30,29,30,30,30,29,30,8,12),
72=>array(0,29,30,29,29,30,29,30,29,30,30,29,30,0,9,1),
73=>array(0,30,29,30,29,29,30,29,29,30,30,29,30,0,10,2),
74=>array(4,30,30,29,30,29,29,30,29,29,30,30,29,30,1,3),
75=>array(0,30,30,29,30,29,29,30,29,29,30,29,30,0,2,4),
76=>array(8,30,30,29,30,29,30,29,30,29,29,30,29,30,3,5),
77=>array(0,30,29,30,30,29,30,29,30,29,30,29,29,0,4,6),
78=>array(0,30,29,30,30,29,30,30,29,30,29,30,29,0,5,7),
79=>array(6,30,29,29,30,29,30,30,29,30,30,29,30,29,6,8),
80=>array(0,30,29,29,30,29,30,29,30,30,29,30,30,0,7,9),
81=>array(0,29,30,29,29,30,29,29,30,30,29,30,30,0,8,10),
82=>array(4,30,29,30,29,29,30,29,29,30,29,30,30,30,9,11),
83=>array(0,30,29,30,29,29,30,29,29,30,29,30,30,0,10,12),
84=>array(10,30,29,30,30,29,29,30,29,29,30,29,30,30,1,1),
85=>array(0,29,30,30,29,30,29,30,29,29,30,29,30,0,2,2),
86=>array(0,29,30,30,29,30,30,29,30,29,30,29,29,0,3,3),
87=>array(6,30,29,30,29,30,30,29,30,30,29,30,29,29,4,4),
88=>array(0,30,29,30,29,30,29,30,30,29,30,30,29,0,5,5),
89=>array(0,30,29,29,30,29,29,30,30,29,30,30,30,0,6,6),
90=>array(5,29,30,29,29,30,29,29,30,29,30,30,30,30,7,7),
91=>array(0,29,30,29,29,30,29,29,30,29,30,30,30,0,8,8),
92=>array(0,29,30,30,29,29,30,29,29,30,29,30,30,0,9,9),
93=>array(3,29,30,30,29,30,29,30,29,29,30,29,30,29,10,10),
94=>array(0,30,30,30,29,30,29,30,29,29,30,29,30,0,1,11),
95=>array(8,29,30,30,29,30,29,30,30,29,29,30,29,30,2,12),
96=>array(0,29,30,29,30,30,29,30,29,30,30,29,29,0,3,1),
97=>array(0,30,29,30,29,30,29,30,30,29,30,30,29,0,4,2),
98=>array(5,30,29,29,30,29,29,30,30,29,30,30,29,30,5,3),
99=>array(0,30,29,29,30,29,29,30,29,30,30,30,29,0,6,4),
100=>array(0,30,30,29,29,30,29,29,30,29,30,30,29,0,7,5),
101=>array(4,30,30,29,30,29,30,29,29,30,29,30,29,30,8,6),
102=>array(0,30,30,29,30,29,30,29,29,30,29,30,29,0,9,7),
103=>array(0,30,30,29,30,30,29,30,29,29,30,29,30,0,10,8),
104=>array(2,29,30,29,30,30,29,30,29,30,29,30,29,30,1,9),
105=>array(0,29,30,29,30,29,30,30,29,30,29,30,29,0,2,10),
106=>array(7,30,29,30,29,30,29,30,29,30,30,29,30,30,3,11),
107=>array(0,29,29,30,29,29,30,29,30,30,30,29,30,0,4,12),
108=>array(0,30,29,29,30,29,29,30,29,30,30,29,30,0,5,1),
109=>array(5,30,30,29,29,30,29,29,30,29,30,29,30,30,6,2),
110=>array(0,30,29,30,29,30,29,29,30,29,30,29,30,0,7,3),
111=>array(0,30,29,30,30,29,30,29,29,30,29,30,29,0,8,4),
112=>array(4,30,29,30,30,29,30,29,30,29,30,29,30,29,9,5),
113=>array(0,30,29,30,29,30,30,29,30,29,30,29,30,0,10,6),
114=>array(9,29,30,29,30,29,30,29,30,30,29,30,29,30,1,7),
115=>array(0,29,30,29,29,30,29,30,30,30,29,30,29,0,2,8),
116=>array(0,30,29,30,29,29,30,29,30,30,29,30,30,0,3,9),
117=>array(6,29,30,29,30,29,29,30,29,30,29,30,30,30,4,10),
118=>array(0,29,30,29,30,29,29,30,29,30,29,30,30,0,5,11),
119=>array(0,30,29,30,29,30,29,29,30,29,29,30,30,0,6,12),
120=>array(4,29,30,30,30,29,30,29,29,30,29,30,29,30,7,1)
);
$cdate_tianganarray=array("null","Jia","Yi","Bing","Ding","Wu","Ji","Geng","Xin","Ren","Kui");
$cdate_dizhiarray=array("null","Zi","Chou","Yin","Mao","Chen","Si","Wu","Wei","Shen","You","Xu","Hai");
$cdate_zodiacarray=array("null","Rat","Ox","Tiger","Rabbit","Dragon","Snake","Horse","Sheep","Monkey","Rooster","Dog","Pig");
$cdate_total=11;
$cdate_cntotal=0;
for ($y=1901;$y<$year;$y++){
$cdate_total+=365;
if ($y%4==0) $cdate_total ++;
}
switch ($month){
case 12: $cdate_total+=30;
case 11: $cdate_total+=31;
case 10: $cdate_total+=30;
case 9: $cdate_total+=31;
case 8: $cdate_total+=31;
case 7: $cdate_total+=30;
case 6: $cdate_total+=31;
case 5: $cdate_total+=30;
case 4: $cdate_total+=31;
case 3: $cdate_total+=28;
case 2: $cdate_total+=31;
}
if ($year%4==0 and $month>2) { $cdate_total++; }
$cdate_total = $cdate_total+($day-1);
$myeardiff = $year-1900;
for ($x=0;$x<=$myeardiff;$x++){
for ($y=1;$y<=13;$y++){
if ($cdate_cntotal<$cdate_total){
$cdate_cntotal+=$cdate_monthdata[$x][$y];
$cdate_cnyear = $x;
$cdate_cnmonth = $y;
}
}
}
if (($cdate_cnmonth==$cdate_monthdata[$cdate_cnyear][0]+1)&&($cdate_monthdata[$cdate_cnyear][0]>0)) {
$cdate_leap=1;
} else {
$cdate_leap=0;
}
$cdate_cnday=$cdate_monthdata[$cdate_cnyear][$cdate_cnmonth]-($cdate_cntotal-$cdate_total);
if (($cdate_monthdata[$cdate_cnyear][0]>0)&&($cdate_monthdata[$cdate_cnyear][0]<$cdate_cnmonth)) {
$cdate_cnmonth = $cdate_cnmonth-1;
}
$cdate_tiangan = $cdate_tianganarray[$cdate_monthdata[$cdate_cnyear][14]];
$cdate_dizhi = $cdate_dizhiarray[$cdate_monthdata[$cdate_cnyear][15]];
$cdate_zodiac = $cdate_zodiacarray[$cdate_monthdata[$cdate_cnyear][15]];
$cdate_cnyear += 1900;
$cdate_result = array($cdate_cnyear,$cdate_cnmonth,$cdate_cnday,$cdate_leap,$cdate_tiangan,$cdate_dizhi);
return $cdate_result;
}
?>
Flicka eller pojke?
Med hjälp av en
kinesisk befruktningskalender finns det möjlighet
att kunna förutspå om det blir en pojke eller
flicka, genom att ange din ålder och befruktningstidpunkten!
Uträkningen baseras på en kinesisk befruktningskalender
som hittats i en kejsares grav för över 700
år sedan. Originalet till befruktningskalendern
sägs finnas tillgänglig på Beijing Institute
of Science i Kina. Många hävdar att denna
uträkningsmetod ger mycket noggrant resultat, men
inga seriösa studier har kunnat bekräfta det.
Kalendern är svårtolkad för oss västerlänningar
då den utgår från de astrologiska
tidpunkterna (mer korrekt den gamla kinesiska lunarkalendern).
Vi har därför gjort det enkelt och skapat
ett unikt verktyg som översätter våra
gregorianska datumangivelser till korrekt kinesisk ålder
och lunartidpunkt.
Om du har svårigheter att veta tidpunkten för
befruktningstillfället kan du använda graviditetsuträkningsverktyget
för att få fram datumet utifrån senaste
mens eller genom förlossningsdatumet.
OBS! Denna uträkning är endast till
för underhållning. Det finns ingen garanti
för dess noggranhet. Visserligen finns kalendern
i verkligheten och många påstår att
den har bättre än 50% noggranhet, men se resultatet
som roande underhållning.
Notering:
I våra översättningar av de gregorianska
tidangivelserna har vi utgått från månens
position i tidszonen PST och longitud 15°.
|