0

たとえば、タイムスタンプが 1 つt1 = 1364571300あります29/3/2013 16:35:00(ローカル タイムゾーン (CET))。

t1から、時間だけを取得したい16:35:00

次に、別のタイムスタンプがあります。たとえば、t2 = 1364598000これは30/3/2013 0:00:00(私のローカル タイムゾーン (CET)) です。

ここで、 t2 の時間を t1 ( 16:35:00)に置き換えて、最終結果で新しいタイム スタンプが得られるようにします(私のローカル タイムゾーン (CET) で)。t330/3/2013 16:35:00

それ、どうやったら出来るの?

4

3 に答える 3

3

次のように実行できます。

var t1 = new Date(1364571300 * 1000);
var t2 = new Date(1364598000 * 1000);
var t3 = new Date(t2.getFullYear(), t2.getMonth(),   t2.getDate(),
                  t1.getHours(),    t1.getMinutes(), t1.getSeconds(), t1.getMilliseconds());

これは、Date(Number)コンストラクターを使用して 2 つの日付を作成し (秒ではなくミリ秒を受け入れることに注意してください)、次にDate(year, month, day, hour, minute, second, millisecond)コンストラクターを使用して、必要な 2 日の部分から日付を作成します。

実例| ソース[その例を使用する人への注意: 時間はローカルであることを忘れないでください。したがって、ヤシンの 16:35 は、あなたにとっては完全に異なる時間になる可能性があります (または、彼女の場合は別の日付でさえありますt2 — 私にとっては 3 月 29 日です) 3 月 30 日の 00:00 ではなく 23:00 です。私は GMT にいて、彼女は GMT+0100 にいるからです)。

コメントのどこかで他の質問に答えて、から Unix タイムスタンプ値 (エポックからの秒数) を取得したい場合は、次のt3ようにします。

var timestamp = t3.getTime() / 1000; // Converts milliseconds to seconds
于 2013-03-29T16:10:30.067 に答える
2

これを試して -

var t1 = new Date(1364571300 * 1000);
var t2 = new Date(1364598000 * 1000);
var time = t1.getHours() + ':' + t1.getMinutes() + ':' + t1.getSeconds();
var newdate = (t2.getMonth()+1).toString() + '/' + t2.getDate().toString() + '/' + t2.getYear().toString();
var t3 = new Date(newdate+' '+time);

を使用しt3ます。希望日を格納します。

于 2013-03-29T16:04:14.673 に答える
0

私の時間は GMT+0530 です。

function getUtcDate( t ) {

    var d    = new Date( t  * 1000 )
    var ut  = (+d) + ( d.getTimezoneOffset() * 60 * 1000 ) + ( 60*60* 1000 ) ;
    return new Date( ut );

};

function getDiff( d ) {

   return +d - +new Date( d.getYear(), d.getMonth(), d.getDay() );    

}

var d1    = getUtcDate( 1364571300 );
var d2    = getUtcDate( 1364598000 );

var diff1 = getDiff( d1 );
var diff2 = getDiff( d2 );

var t3 =  (+d2 - diff2) + diff1 ;

console.log( new Date( t3 ) ) ;

印刷する

Date {Sat Mar 30 2013 16:35:00 GMT+0530 (India Standard Time)}
于 2013-03-29T18:38:40.620 に答える