2009年10月18日日曜日

和暦→西暦

和暦→西暦変換について。

Stringオブジェクト(クラス?)を拡張して、
getSeirekiなるメソッドを作ってみた。

本当にこんな拡張でいいかは別にして。


最初と言うことで、
 和暦年 → 西暦年という変換だけど、

最終形は、
 和暦年月日 → 西暦年月日
ということだと思う。

たとえば、1989年1月8日は平成1年だけど、
1月7日だと昭和64年だということ。

今回のは、昭和56年 → 1981年という変換です。



  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  2.   
  3. <html lang="ja">  
  4. <head>  
  5. <title> .:: Sample Play Keepaway ::. Ajax-02</title>  
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
  7. <meta http-equiv="cache-control" content="no-cache">  
  8. <meta name="Author" content="Sample">  
  9. <meta http-equiv="Content-Script-Type" content="text/javascript">  
  10. <link rel="stylesheet" href="css/blue/style.css" type="text/css" media="print, projection, screen" />  
  11. <link rel="stylesheet" href="css/default.css" type="text/css" />  
  12. <script language="Javascript" type="text/javascript" charset="UTF-8" src="js/lib/jquery-1.3.2.min.js"></script>  
  13. <script type="text/javascript">  
  14. $(function(){  
  15.     $('#convertButton').click(function(){  
  16.         var d = $('#date_text').val();  
  17.         $('#result').html(d.getSeireki());  
  18.     });  
  19. });  
  20.   
  21. String.prototype.getSeireki = function() {  
  22.     var ret = this.match(/[0-9]+/g);  
  23.     var wareki = this.substring(0,this.indexOf(ret[0]));  
  24.     var n = ret[0];  
  25.     var result = '';  
  26.     if ("昭和" == wareki || "S" == wareki) {  
  27.         result = parseInt(n) + 1925;  
  28.     } else if ("平成" == wareki || "H" == wareki) {  
  29.         result = parseInt(n) + 1988;  
  30.     } else if ("大正" == wareki || "T" == wareki) {  
  31.         result = parseInt(n) + 1911;  
  32.     } else if ("明治" == wareki || "M" == wareki) {  
  33.         result = parseInt(n) + 1867;  
  34.     }  
  35.       
  36.     return result + '年';  
  37. }  
  38. </script>  
  39. </head>  
  40. <body>  
  41.   
  42. <div class="preview">  
  43. <input type="text" style="width: 20em;" name="date" value="昭和56" id="date_text">  
  44. <input type="button" value="西暦変換" style="width: 180px; height: 30px;" id="convertButton">  
  45. <div id="result"></div>  
  46.   
  47. </div>  
  48.   
  49. </body>  
  50. </html>  

0 件のコメント:

コメントを投稿