質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

解決済

1回答

4518閲覧

type scriptで時間フォーマットを変更したい

k10a

総合スコア35

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

0グッド

0クリップ

投稿2018/10/27 13:05

編集2018/10/28 03:41

ご閲覧いただきまして、ありがとうございます。

TypeScriptでStringで定義しているDateとTimeをUTCの下記のようなフォーマットに変更したいです。
現在のコードでは Invalid Error が生じてしまい、困っています。

2018/10/27+16:00 => 20181027T01000Z

また、開始〜終了までを出したいのですが、後半の日時に30分足したものを出したいと考えているのですが、どうすればよろしいでしょうか。

追記: date と time に入っている単位
date => 2018/10/27 土
time => 16:00

TypeScript

1import * as moment from 'moment' 2 3・・・ dates=${moment(`${String(date)}`).format('YYYYMMDD')}T${moment(`${String(time)}`) 4 .utc() 5 .format('HHmm')}Z/${moment(`${String(date)}`).format('YYYYMMDD')}T${moment( 6 /* ここの時間に30分加算したいです */ 7 `${String(time)}`, 8 ) 9 .utc() 10 .format('HHmm')}`} 11・・・

すみませんが、お知恵を拝借できればと思います。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jun68ykt

2018/10/27 14:57

関数String() に与えているパラメータの date と time にはどのような値が入っているのかについて、ご質問に追記頂きたいです。
k10a

2018/10/28 03:41

jun68yktさま、こちらパラメータの値を追記させていただきました。
jun68ykt

2018/10/28 04:32

追記ありがとうございます。回答しました。お役に立てましたら幸いです。
guest

回答1

0

ベストアンサー

こんにちは

ご質問の要件としては、以下の2つの変数

  • date: "2018/10/27 土" という形式の文字列
  • time: "16:00" という形式の文字列

によって構成される、日本における日時を、(moment を使って) UTCの日時に変換し、それを YYYYMMDDTHHmmssZ という形式の文字列として得たい、というお題と解釈しました。

以下のような手順で得られます。

(1) date と time を結合した文字列を作ります。ただし、曜日の部分は不要なので削除します。

javascript

1const date = '2018/10/27 土'; 2const time = '16:00'; 3const datetimeStr = `${date.slice(0, 10)} ${time}`; // => "2018/10/27 16:00"

(2) 上記 (1) で得られた datetimeStr をパースして moment オブジェクトを取得します。

javascript

1const m = moment(datetimeStr, 'YYYY/MM/DD HH:mm');

(3) UTCに変換してから、望ましい形の文字列に編集します。

javascript

1const utcStr = `${m.utc().format('YYYYMMDDTHHmmss')}Z`; // => "20181027T070000Z"

上記のコードを動作確認するためのサンプルを、以下に上げておきました。

上記の変換を、質問者さまが現在取り組まれている Reactアプリのどこかに組み込めばよろしいかと思います。

以上、参考になれば幸いです。

投稿2018/10/28 04:31

編集2018/10/28 06:53
jun68ykt

総合スコア9058

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

k10a

2018/10/28 06:56

ご丁寧な回答をいただきまして、誠にありがとうございました。 いただいた内容で解決しました。 ありがとうございます。
jun68ykt

2018/10/28 07:04

解決されたとのことでよかったです????
k10a

2018/10/30 13:31

いつもありがとうございます。 ただ解決するだけでなく、学びが多いため大変助かっています。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問