javascriptで時刻表示のタイムゾーンがおかしくなる場合の確認事項(Moment.js使用)

npm install --save moment-timezoneをしてある前提です。

Timezoneを明示的に指定するには

import * as moment from 'moment-timezone';
moment.tz.setDefault('Asia/Tokyo');

のようにしますが、ここで

datetime = moment().format('YYYY-MM-DDTHH:MM');

のようにして使うと日付入力部品で9時間”先に”進んでしまうことがあります。 これはdatetime内に文字列として保存された日時がどこのタイムゾーンなのかが把握されてしまうために 発生する問題で、明示的に

datetime = moment().format('YYYY-MM-DDTHH:MM+9:00');

としてやることでブラウザもタイムゾーンを理解してくれて正確な時間が表示されるようになります。

今の所iPhoneSafariでこの現象が発生してハマりました。。。