Calendar creator
unknown
php
3 years ago
2.5 kB
10
Indexable
<?php
// DB Connection
$host = 'localhost';
$username = 'root';
$password = '';
$database = 'calendar';
try {
$db = new PDO("mysql:name=$host;dbname=$database", $username, $password);
} catch (PDOException $e) {
echo "Error: " . $e->getMessage();
die();
}
// Functions
function getQuarter($m) {
if($m > 0 && $m < 4) {
return '1';
} else if($m > 3 && $m < 7) {
return '2';
} if($m > 6 && $m < 10) {
return '3';
} else {
return '4';
}
}
function getKindOfDay($d) {
if($d == 6) {
return 'SATURDAY';
} else if($d == 7) {
return 'SUNDAY';
} else {
return 'BANKDAY';
}
}
// Generating a calendar
/**
*
*/
$start = '2022';
$end = '2031';
$yearStart = date_create($year . '-01-01');
$yearEnd = date_create($end . '-01-01');
$date = date('Y-m-d H:i:s', strtotime($yearStart->format('Y-m-d')));
$endDate = date('Y-m-d H:i:s', strtotime($yearEnd->format('Y-m-d')));
$day = strtotime($date);
$dayOfYear = date('z', $day);
$dayOfYear = (int)$dayOfYear + 1;
$query = "INSERT INTO calendar (Date, Year, Quarter, Month, Week, Day, DayOfYear, Weekday, Fiscal_Year, Fiscal_Quarter, Fiscal_Month, KindOfDay) VALUES (?, ?, ?, ?, ?, ? ,?, ?, ?, ?, ?, ?)";
$stmt = $db->prepare($query);
$stmt->execute(array(
$date,
date('Y', $day),
getQuarter(date('n', $day)),
date('n', $day),
date('W', $day),
date('j', $day),
$dayOfYear,
date('N', $day),
date('Y', $day),
getQuarter(date('n', $day)),
date('n', $day),
getKindOfDay(date('N', $day))
));
$date = date('Y-m-d H:i:s', strtotime('+1 day', strtotime($yearStart->format('Y-m-d'))));
for($i = 1; $i <= 100000000; $i++) {
$day = strtotime($date);
if($date == $endDate) {
break;
}
$dayOfYear = date('z', $day);
$dayOfYear = (int)$dayOfYear + 1;
$query = "INSERT INTO calendar (Date, Year, Quarter, Month, Week, Day, DayOfYear, Weekday, Fiscal_Year, Fiscal_Quarter, Fiscal_Month, KindOfDay) VALUES (?, ?, ?, ?, ?, ? ,?, ?, ?, ?, ?, ?)";
$stmt = $db->prepare($query);
$stmt->execute(array(
$date,
date('Y', $day),
getQuarter(date('n', $day)),
date('n', $day),
date('W', $day),
date('j', $day),
$dayOfYear,
date('N', $day),
date('Y', $day),
getQuarter(date('n', $day)),
date('n', $day),
getKindOfDay(date('N', $day))
));
$date = date('Y-m-d H:i:s', strtotime('+1 day', $day));
}
?>Editor is loading...