yyyy年mm年dd日をDate型にフォーマットしたいのですが、やり方を探しても見つからなかったので教えていただけると助かります。
よろしくお願いいたします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
ベストアンサー
自力でやるしかありません。
javascript
1var matched = /(\d+)年(\d+)月(\d+)日/.exec('2019年1月15日'); 2// 月は0始まりなので、1を引かないといけない 3var date = new Date(matched[1] - 0, matched[2] - 1, matched[3] - 0);
投稿2019/01/15 01:55
総合スコア145183
0
日付を扱うならMoment.jsを使いましょう。
これは全世界で利用されている日付管理のJavaScriptライブラリで、
素のJSが抱える使い勝手が悪いDateをよしなにやってくれるラッパーです。
yyyy年mm年dd日をDate型にフォーマットしたいのですが
String + Formatの項目を参照。
JavaScript
1moment("1995年12月25日", "YYYY年MM月DD日").format('YYYY-MM-DD'); 2// "1995-12-25"
最初のmoment関数を実行した所で日付を正しくパースしたMomentオブジェクトになっている為、
.format
メソッドを実行してハイフン区切りの文字列として取り出せていることがわかります。
現在の時刻と比較させたいです。
何時何分何秒?地球が何回回った時???
JavaScriptの現在の時刻はミリ秒で取れるので、完全に一致させる事はほぼ不可能です。
なのでこの日の10時〜11時までみたいなゆるゆるの比較をする必要があります。
これを組むのが結構たいへん、でもMoment.jsならこの辺もtrue/false返してくれるメソッドがあるのでわりと楽に実装できます。
ドキュメントをあさってみてください。
投稿2019/01/15 02:27
総合スコア21158
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/15 03:06
2019/01/15 03:11
0
javascript
1function newDate (str) { 2 const reg = /^(?:(?!(?:[02468][1235679]|[13579][01345789])00[年\-/]0?2[月/\-](?:29|30)日?))(?:(?![0-9]{2}(?:[02468][1235679]|[13579][01345789])[年\-/]0?2[月/\-](?:29|30)日?))(?:(?![0-9]{4}[年\-/](?:0?2|0?4|0?6|0?9|11)[月/\-]31日?))([0-9]{4})[年\-/](0?[1-9]|1[0-2])[月/\-](0?[1-9]|[12][0-9]|3[01])日?$/; 3 let d = reg.exec (str); 4 return d ? new Date (d[1], d[2]-1, d[3]): null; 5} 6 7console.log (newDate ('2019年2月28日')); 8
投稿2019/01/15 02:06
退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
Javascript
1var input_date= new Date("2018-10-12");
こういうことではない?
投稿2019/01/15 01:53
総合スコア2321
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/15 01:57
2019/01/15 06:51 編集
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/15 02:00