2

ユーザーが時間形式としてSwatchInternetTimeを選択できるようにしたいと思います。

私が今どのように試しているか:

function startTime(){
    var d = new Date(),
        h = d.getHours(),
        m = d.getMinutes(),
        s = d.getSeconds(),
        time = "@"+parseFloat((h*3600+m*60+s*1)*0.01157,10).toString().replace(/(\.\d{1,2})\d*$/, "$1");

    $('#time').html(time);
}

説明によると、見本時間はタイムゾーンオフセットがないため、ユーザーのシステム時間を使用しても機能しません。

もう1つの方法は、組み込み関数を介して現在のスウォッチ時間を返すphpファイルにajaxリクエストを送信することですが、date('B')小数点以下2桁を使用できず、不要なトラフィックが発生します。

$.ajax({type:'GET',url:'../time.php'}).done(function(data){ var time = data });

time.php:

<?php echo date("B") ?>

見本の時間をフォーマットで返すための何らかの方法が必要で@###.##あり、私は知りたいと思っています。

このstartTime()関数はを使用して呼び出されるsetInterval(startTime,750)ため、その期間で機能するソリューションが必要です。

4

3 に答える 3

5

JavaScript には、.getTimezoneOffset()GMT からのオフセットを分単位で返す関数があります。

スイスのビールのタイム ゾーン オフセット (+60 分) を取り、ローカル タイム ゾーンのオフセットを差し引くだけです。差は、スウォッチ時間を与えるためのオフセットになります。それをもとにビート計算をします。

基本的に GMT である 、 などを.getUTCHours()使用することもできます。.getUTCMinutes()GMT は、スイスのビールの 1 時間前です。したがって、そこから計算に 1 時間を追加するだけで、Swatch 時間を取得できます。

デモ: http://jsfiddle.net/qF8Bt/

于 2013-02-20T19:24:00.590 に答える