-2
たとえば、私はdatevalue = 1479709790を持っています。これはEpoch にあり、私はこのEpoch時間を日曜日、月曜日、または火曜日のような曜日のみに変換したいと考えています。日曜日の前に月曜日のように、上記の日は上になるでしょう。java、Epoch時間を週の曜日に変換する方法
あなたは(つまり、すべてがUTCであると仮定)タイムゾーンを考慮していません、のような単純なものでしたと仮定すると、public String getDay(long day){
this.day=day;
String dayOfWeeks;
long time=day*1000l;
int days = (int)((time/(1000*60*60*24))%7);
switch (days){
case 1:
dayOfWeeks = "Sun";
break;
case 2:
dayOfWeeks="Mon";
break;
case 3:
dayOfWeeks = "Tue";
break;
case 4:
dayOfWeeks="Wed";
break;
case 5:
dayOfWeeks = "Thru";
break;
case 6:
dayOfWeeks="Frid";
break;
case 7:
dayOfWeeks = "Sat";
break;
default:
dayOfWeeks="Sat";
}
return dayOfWeeks;
}
どのような結果が得られますか、何を試しましたか? –
'Instant.ofEpochMilli(1479709790L * 1000L)'はあなたの日付が '2016-11-21T06:29:50Z'であると言います。曜日を取得するタイムゾーンは何ですか?タイムゾーン「オーストラリア/シドニー」では「月曜日」、タイムゾーン「アメリカ/アンカレッジ」では「日曜日」となります。 – Andreas
'%7'を使うと、結果は0と6の間の数値になります。なぜ' switch'ステートメントに 'case 7'があるのですか?そして、もし曜日名が1つシフトされていれば、あなたは明らかに 'switch'を間違って作成しました。なぜ名前を正しい' case'に移してみませんか? – Andreas