質問編集履歴
5
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -135,3 +135,13 @@
|
|
135
135
|
フレームワーク間のタイムゾーンの表現の差はいかんともできないので
|
136
136
|
|
137
137
|
もしうまく Rails の Time.zone からmoment-timezone の setDefault にわたせる方法があれば教えていただきたいです
|
138
|
+
|
139
|
+
|
140
|
+
|
141
|
+
追記:
|
142
|
+
|
143
|
+
|
144
|
+
|
145
|
+
別の質問で Rails 側から 地域/都市 形式のタイムゾーン文字列を取得する方法を教えていただいたので moment を使ってやりたいことができました
|
146
|
+
|
147
|
+
お答えいただいた方々本当のありがとうございました
|
4
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -85,3 +85,53 @@
|
|
85
85
|
moment('2018-09-25 12:00:00').utcOffset('540').format();
|
86
86
|
|
87
87
|
とやったときに日本時間 +900 で 19時間後の 9/26 7:00 という時刻になってほしいです
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
追記:
|
94
|
+
|
95
|
+
|
96
|
+
|
97
|
+
結局いろいろ試した結果最初に回答をいただいたとおり offset 加減することにしました
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
javascript 単体で見れば moment を使ったほうがきれいにかける気がするのですが
|
102
|
+
|
103
|
+
|
104
|
+
|
105
|
+
たとえばハワイのタイムゾーンの場合 Rails 側から渡せる timezone の情報が
|
106
|
+
|
107
|
+
(GMT-10:00) Hawaii
|
108
|
+
|
109
|
+
Hawaii
|
110
|
+
|
111
|
+
Pacific - Honolulu
|
112
|
+
|
113
|
+
-36000
|
114
|
+
|
115
|
+
の4つの文字列しかなく最初の3つを setDefault にいれても変わらなかったので
|
116
|
+
|
117
|
+
結局オフセットで加減するなら moment じゃなくても Date でいいかなと
|
118
|
+
|
119
|
+
```
|
120
|
+
|
121
|
+
const date = new Date('2018-09-25 12:00:00');
|
122
|
+
|
123
|
+
date.setTime(date.getTime() - date.getTimezoneOffset() + <%= Time.zone.utc_offset %>);// localに変換
|
124
|
+
|
125
|
+
```
|
126
|
+
|
127
|
+
という感じです
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
setDefault の引数のオフセットがとれればよかったのですが…
|
132
|
+
|
133
|
+
|
134
|
+
|
135
|
+
フレームワーク間のタイムゾーンの表現の差はいかんともできないので
|
136
|
+
|
137
|
+
もしうまく Rails の Time.zone からmoment-timezone の setDefault にわたせる方法があれば教えていただきたいです
|
3
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -77,3 +77,11 @@
|
|
77
77
|
あたりを使えばできるきがするんですが自分の環境では require が undefined になってしまうので
|
78
78
|
|
79
79
|
JSの範囲内ではできないでしょうか
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
例えばハワイ時間 -1000 として 2018-09-25 12:00:00 を読み込んで
|
84
|
+
|
85
|
+
moment('2018-09-25 12:00:00').utcOffset('540').format();
|
86
|
+
|
87
|
+
とやったときに日本時間 +900 で 19時間後の 9/26 7:00 という時刻になってほしいです
|
2
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -51,3 +51,29 @@
|
|
51
51
|
|
52
52
|
|
53
53
|
みたいにタイムゾーン文字列と Date オブジェクトからそのタイムゾーン時刻の出力を得たいです
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
追記:
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
moment のおかげで
|
64
|
+
|
65
|
+
moment('2018-09-25 12:00:00').utcOffset(...).format() とすれば
|
66
|
+
|
67
|
+
任意のタイムゾーンで出力することはできるようになったんですが
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
タイムゾーン情報のない時刻文字列を特定のタイムゾーンとして読み込むことができなくて困ってます
|
72
|
+
|
73
|
+
var moment = require('moment-timezone');
|
74
|
+
|
75
|
+
moment.tz.setDefault("Asia/Tokyo");
|
76
|
+
|
77
|
+
あたりを使えばできるきがするんですが自分の環境では require が undefined になってしまうので
|
78
|
+
|
79
|
+
JSの範囲内ではできないでしょうか
|
1
タイトル修正
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
Date のタイムゾーンについて
|
test
CHANGED
@@ -46,7 +46,7 @@
|
|
46
46
|
|
47
47
|
var time = new Date('2018-09-25 12:00:00 JST');
|
48
48
|
|
49
|
-
ime.toTZformat('UTC'); #Tue Sep 25 2018 3:00:00 UTC
|
49
|
+
time.toTZformat('UTC'); #Tue Sep 25 2018 3:00:00 UTC
|
50
50
|
|
51
51
|
|
52
52
|
|