PHP cal 명령 같은 캘린더 한 줄로
7078 단어 PHP
cal.php
<?php
echo str_pad(($d = new DateTime)->setDate($argv[2] ?? $d->format('Y'), $argv[1] ?? $d->format('m'), 1)->format('F Y'), 20, ' ', 2). "\nSu Mo Tu We Th Fr Sa\n". preg_replace('/(.{1,21})/', "$1\n", str_repeat(' ', $d->format('w')). sprintf(str_repeat('%2d ', $d->format('t')), ...range(1, 31)));
$ php cal.php
July 2020
Su Mo Tu We Th Fr Sa
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
$ php cal.php 2
February 2020
Su Mo Tu We Th Fr Sa
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
$ php cal.php 2 1999
February 1999
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28
요약하자면 1년 동안의 디스플레이 등 다양한 것들이 재현되지 않았는데...보충하여 기록하다
좀 길지만 당일 하이라이트 디스플레이 대응판
cal.php
<?php
echo str_pad($a = ($d = new DateTime)->setDate([[$j, $b, $y, $m] = explode(',', $d->format('j,F Y,Y,m')), $argv[2] ?? $y][1], $argv[1] ?? $m, 1)->format('F Y'), 20, ' ', 2). "\nSu Mo Tu We Th Fr Sa\n". preg_replace("/(^|\D)( ?$j)(\D)/", $b == $a ? "$1\e[7m$2\e[m$3" : "$0", preg_replace('/(.{1,21})/', "$1\n", str_repeat(' ', $d->format('w')). sprintf(str_repeat('%2d ', $d->format('t')), ...range(1, 31)))). "\n";
Reference
이 문제에 관하여(PHP cal 명령 같은 캘린더 한 줄로), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/akebi_mh/items/fc4c5c601632d6553d10텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)