Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2019
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.90 KB | None | 0 0
  1. <?php
  2. /**
  3. * 和暦の2桁数値と月日しかわからないデータから西暦取りたい場合に使うスクリプト。
  4. * 与えられた日付データが、今の年号か次の元号か判別したいときにだけ使えるよ
  5. *
  6. * たとえば「310102」は2019年だよ
  7. * 「010502」は2019年だよ
  8. */
  9.  
  10. date_default_timezone_set('Asia/Tokyo');
  11.  
  12. // 標準入力
  13. $stdin = trim(fgets(STDIN));
  14.  
  15. $wareki = array();
  16. $wareki["shin"] = array(18, 2000, new DateTime("2019-05-01 00:00:00"));
  17. $wareki["heisei"] = array(-12, 2000, new DateTime("1989-01-08 00:00:00"));
  18.  
  19. $prefixNumber = substr($stdin, 0, 2);
  20.  
  21. $now = new DateTime('now');
  22.  
  23. foreach ($wareki as $val) {
  24. $d = ($prefixNumber + $val[0] + $val[1]);
  25. $d .= substr($stdin, 2, 4);
  26.  
  27. $a = new DateTime($d + "00:00:00");
  28.  
  29. if ($a >= $val[2] && $now->format("Y") >= $a->format("Y")) {
  30. print($a->format("Y"));
  31. break;
  32. }
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement