

和暦で年だけを表すjavascriptを頂けますでしょうか？

[code]

    document.write(date.toLocaleDateString("ja-JP-u-ca-japanese"));
    
[/code]

だと思いましたが違うみたいです。

よろしくお願いします。


CC BY-SA 3.0
2016-01-19T06:23:02.757
21056
2016-02-24T03:34:38.887
7263
question
javascript
和暦で年を表すjavascriptは？


「違うみたい」というのを説明して頂けますか？  
単に、年の部分を取り出すということなら`substring`と`indexOf`を使って`/`までを次の様にして切り出せます。

[code]

    var date = new Date();
    date = date.toLocaleDateString("ja-JP-u-ca-japanese");
    var year = date.substring(0, date.indexOf("/"));
    document.write(year);
[/code]


CC BY-SA 3.0
2016-01-19T06:45:21.537
21060
2016-01-19T06:45:21.537
5044
21056
answer


自動更新される場合は、次のようにもできるようです。

[code]

    <script language="javaScript">
    <!--
    var now=new Date();
    var Wareki=now.getYear();
    if (Wareki>1000){Wareki -=1900;}
    Wareki -=88;
    document.write("<font style='font-size : 30px; color : red'>");
    document.write("今年は平成");
    document.write(Wareki);
    document.write("年");
    document.write("です</font>");
    //-->
    </script>
    
[/code]

参考：<http://tsunamiblog.blog60.fc2.com/blog-entry-74.html>


CC BY-SA 3.0
2016-01-20T11:49:21.320
21129
2016-01-20T11:49:21.320
9359
21056
answer


`toLocaleDateString`の第二引数で`era`を指定すればよいのでは。

[code]

    date.toLocaleDateString("ja-JP-u-ca-japanese", { era:"long" })
    
[/code]

ただEdgeではこの指定だと`28/02/24`となり元号が出力されないようです。これが仕様なのか不具合なのかはわかりませんが、`平成`を得るには`day`が含まれないオプションにする必要があります。

[code]

    date.toLocaleDateString("ja-JP-u-ca-japanese", { era:"long", year:"numeric", month:"numeric" })
    
[/code]


CC BY-SA 3.0
2016-02-24T03:34:38.887
22462
2016-02-24T03:34:38.887
5750
21056
answer