2017-08-30 10 views
-2

どうすればJavaScriptの翌日の午前8時のPSTの日付時刻オブジェクトを取得できますか?翌朝の午前8時に秒数を取得するにはどうすればよいですか?

は、私は新しいDate()

+4

何を試しましたか? –

+0

[moment.js](https://momentjs.com/)を使用していない場合は、そうすることをお勧めします:) –

+2

「新しいDate()を試しました」 - 明らかに 'new Date()'あなたの問題を解決することはできません。あなたのコンピュータはあなたの心を読むことができません(まだ)、あなたは何をしたいのかを伝えなければなりません。あなたの問題を解決するために何をしようとしましたか?あるいは、何も試してみませんでした。他の誰かがあなたのコードを書くことを望んでいましたか? –

答えて

0

非常に効率的ではないを試してみましたが、ここでは簡単な例です。日付と時刻の操作を行う

var today = new Date(); 
 
var diff = new Date(
 
    today.getFullYear(), 
 
    today.getMonth(), 
 
    today.getDate() + 1, 
 
    8 
 
).getTime() - today.getTime(); 
 

 
console.log((diff/1000) | 0);

+0

どのようにタイムゾーンを設定しますか?同様に、オーストラリア/ブリスベンのタイムゾーンにいて、午後8時(PSTまたはPDT)までの秒数を知りたい場合、このスニペットはどのように時間差があるのでしょうか? –

+0

いいえ、それはGMTのすべての数字です。したがって、あなたの現在のタイムゾーンを把握することになります(GMTの現在の時刻を取得し、翌日の午前8時のGMTとの差を示します)。日付のドキュメントには、タイムゾーンのオフセットを設定する方法が示されています。 – Will

+0

パフォーマンスと可読性を向上させるためにコードを変更しました。期待どおりに動作することを確認してください。そうでない場合や、変更に満足できない場合は、編集をロールバックしてください。 –

-1

ノードでは困難です。あなたがあなたのマシン上でPHPを持って場合は、私はその後、この

var child_process = require('child_process'); 

var command = 'php NumSecondsTo8am.php'; 
child_process.exec(command, function(error, stdout, stderr) { 
    console.log(stdout, 'seconds'); 
}); 

をお勧めしたい、同じディレクトリに別のファイルにすることを忘れないでください

<?php 
# numSecondsTo8am.php 
date_default_timezone_set('America/Chicago'); 

# get the current time 
$currentTime = new DateTime(); 

# get the current time in Los Angeles, and add a day to it 
$tomorrow = new DateTime(); 
$tomorrow->setTimezone(new DateTimeZone('America/Los_Angeles')); 

$dateInterval = new DateInterval('P1D'); 
$tomorrow->add($dateInterval); 

# since we want to know about 8am, change the hour to 8am 
$tomorrow->setTime(8, 0, 0); 

# get the timestamp the future date will produce and subtract it from 
# our current timestamp 
$numSeconds = intval($tomorrow->format('U')) - 
    intval($currentTime->format('U')); 

echo "$numSeconds"; 

(私はnumSecondsTo8am.phpと呼ばれます)タイムゾーン文字列をあなたのローカルタイムゾーンに変更してください!それ以外の場合、答えは正しくありません。

純粋なノードソリューションをお探しの場合は、見つけられません。 モーメントを使用しても正しい答えが得られません

関連する問題