2016-09-12 2 views
1

私はeonasdan bootstrap-datetimepickerを使用しています。私はUTC時間(時を含む)で仕事をしようとしていますが、maxDateは現地時間を参照しているようです。Bootstrap datepicker - 現地時間ではなくUTC時間でmaxDateを設定します

は、に午前10時の時間を制限したい場合に設定します。 datetimepickerに時間の変更を許可するが、UTC時間は午前10:00を超えないようにしたい。私はタイムゾーンが+3であるため、午後13時まで行くことができます。ここで

はフィドルです:http://jsfiddle.net/vvtwq0xm/1/

var dateUTCtime = new Date().toISOString(); 
alert('UTC time = ' + dateUTCtime); 

var opts = { 
    format: "DD-MMM-YYYY HH:mm", 
    stepping: 5, 
    maxDate: dateUTCtime, 
    useCurrent: true, 
    sideBySide: false, 
    showTodayButton: true, 
    widgetPositioning: { 
     'vertical': 'bottom' 
    } 
}; 

$('#datetimepicker1').datetimepicker(); 

私の日付はUTCであるが、MAXTIMEはUTCまでの時間(時間)を尊重していないようです。現在の現地時間まで行くことができます。

とにかくUTCで動作させるには?

ps:理解を深めるためにいくつかの説明を追加しました。私はUTCの日時(時間)を尊重することに興味があります。

答えて

0

バージョン4.17.37フィギュアでdatetimepickerのバージョン4.14.30を使用している間に、タイムゾーンの統合が追加されました(changelogを参照)。

ピッカーをUTCで使用するには、moment-timezoneをインポートに追加し、maxDatemoment.utc()と設定します。ここで

(最新のピッカーバージョン使用:4.17.42を):実施例

var opts = { 
 
    format: "DD-MMM-YYYY HH:mm", 
 
    stepping: 5, 
 
    maxDate: moment.utc(), 
 
    useCurrent: true, 
 
    sideBySide: false, 
 
    showTodayButton: true, 
 
    widgetPositioning: { 
 
    'vertical': 'bottom' 
 
    } 
 
}; 
 

 
$('#datetimepicker1').datetimepicker(opts);
<link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/css/bootstrap.css" rel="stylesheet"/> 
 
<link href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.42/css/bootstrap-datetimepicker.css" rel="stylesheet"/> 
 

 
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script> 
 
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.5/moment-timezone-with-data-2010-2020.min.js"></script> 
 
<script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/js/bootstrap.js"></script> 
 
<script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.42/js/bootstrap-datetimepicker.min.js"></script> 
 

 
<div class='input-group date' id='datetimepicker1'> 
 
    <input type='text' class="form-control" /> 
 
    <span class="input-group-addon"> 
 
    <span class="glyphicon glyphicon-calendar"></span> 
 
    </span> 
 
</div>

+0

あなたの解決策は、私は意味の問題を持っています。私はUTCとは異なるタイムゾーンにいます。それでもクロックに行くと、maxDateにもかかわらず現在の現地時間がUTCに変更されるまで、これを修正することができます。私が探しているのは、現地時間ではなく、時間版をUTC時間にロックする方法です。 – kitimenpolku

+0

私の問題の記述を少し修正しました。おそらく、私は自分自身をよく表現していなかったでしょう。うまくいけば今それは良いです。 – kitimenpolku

+0

申し訳ありませんが、私はUTCの問題を解決したと思っていましたが、間違っていました。私はいくつかのテストを行いましたが、とにかくもっと良い解決策を見つけるためにさらに調査します。 – VincenzoC

関連する問題