index.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="estilos.css">
<title>Calendario</title>
</head>
<body>
<table>
<caption class="calendar__month">Enero 2019</caption>
<tr class="calendar__week">
<th class="calendar__day calendar__item">Domingo</th>
<th class="calendar__day calendar__item">Lunes</th>
<th class="calendar__day calendar__item">Martes</th>
<th class="calendar__day calendar__item">Miércoles</th>
<th class="calendar__day calendar__item">Jueves</th>
<th class="calendar__day calendar__item">Viernes</th>
<th class="calendar__day calendar__item">Sábado</th>
</tr>
<tr class="calendar__dates">
<td></td>
<td></td>
<?php
$fecha = date("d");
for ($i = 1; $i <= 31; $i++) {
if($i == $fecha){
echo "<td class='calendar__date calendar__item yellow'>".$i."</td>";
}else{
echo "<td class='calendar__date calendar__item'>".$i."</td>";
}
};
?>
</tr>
</table>
</body>
</html>
CSS
body{
min-height:100vh;
display:flex;
background:linear-gradient(-45deg,hsl(330,100%,50%),hsl(30,100%,50%));
}
.calendar{
width:90%;
max-width:400px;
margin:auto;
}
.calendar__header{
background:rgba(0,0,0,.3);
}
.calendar__month{
text-align:center;
line-height:2;
color:#fff;
font-size: 1.2em;
}
.calendar__item{
text-align:center;
line-height:2;
}
.calendar__date{
color:#fff;
background-color: rgba(255,255,255,.2);
}
.calendar__week,
.calendar__dates {
display:grid;
grid-template-columns:repeat(7,1fr);
grid-gap:4px;
}
.calendar__week{
margin-bottom: 4px;
color:rgba(255,255,255,.5);
}
.calendar__date:first-child{
grid-column:5;
}
.yellow{
background-color: yellow;
color:black;
}
Espero estote sirva, si no podes usar ni css , es un poco mas complejo pero vamos viendo, avisa cualquier cosa!