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°.
 |