鎌形 稔 1月/ 13/ 2020 | 0
概要
kintoneのカスタマイズでJavaScriptを利用する機会が多いので、JavaScriptで利用できるWebサービスをちょこちょこ作っていこうかと思います。
Node.jsの勉強とブログネタも兼ねて。
基準日からの経過日数算出
記念日的なものは誰しもあると思います。
あれからどれ位たったのか知りたい場合とかありませんか?結婚記念日とか。
そういう話からこのAPIを作ったのですが。。。
正直な話、Moment.jsを使えばJavaScriptだけで作れますが、あえてサーバサイドのNode.jsで処理を書いてます。勉強、勉強。。。
JavaScript側はfetch()とかでクエリパラメータを投げれば良いので楽ではあるのですがね。
利用方法
使い方は、以下のように外部サイトを参照する形になります。
クエリパラメータ「from」にFrom日付、「to」にTo日付をYYYYMMDDで指定してアクセスしてください。
https://cjawebservice.herokuapp.com/api/keika?from=YYYYMMDD&to=YYYYMMDD
以下のようなJSONデータが取得できます。
{message: '〇年〇ヶ月〇日 経過'}
こんな感じにHTMLに埋め込んで使います。
<table>
<tbody>
<tr>
<td width='25%'>記念日</td><td width='25%'>From日付</td><td width='25%'>To日付</td><td width='25%'>経過日数</td>
</tr>
<tr>
<td>本能寺の変</td><td>1582/06/21</td><td>2020/01/12</td><td id='keika'></td>
</tr>
</tbody>
</table>
<script>
var from = '15820621';
var to = '20200112';
var url = 'https://cjawebservice.herokuapp.com/api/keika?';
fetch(url + 'from=' + from + '&to=' + to)
.then(res => res.json())
.then(response => {
console.log(response);
jQuery('#keika').text(response.message);
});
</script>
結果
こんな感じです。
| 記念日 | From日付 | To日付 | 経過日数 |
| 本能寺の変 | 1582/06/21 | 2020/01/12 |
サンプル
フォームと組み合わせて以下のように使ってみても良いかと。
[blogcard url=”https://cjawebservice.herokuapp.com/keika.html”]
リポジトリ
以下にNode.jsのソースと上記サンプルページを保存してあるので興味があればどうぞ。
[blogcard url=”https://gitlab.com/mkamagata/webservice”]

