私は今この間私の頭を傷つけてきました。私は、私のUIのフロントエンドでdaterangepicker.js(http://tamble.github.io/jquery-ui-daterangepicker/)を使用しています。私の実装はかなり基本的なもので、以下で見つけることができます。問題は)私は(moment.unixを使用して拡張する時間を変えるたびということであるタイムスタンプが一時間を返す日がDaterangepicker/Moment JS - タイムスタンプが間違っています
<script type="text/javascript">
$("#date-range").daterangepicker({
datepickerOptions : {
numberOfMonths : 1,
},
presetRanges: [{
text: 'Last 7 Days',
dateStart: function(){return moment().subtract('days', 7)},
dateEnd: function() { return moment() }
},{
text: 'Last 30 Days',
dateStart: function(){return moment().subtract('days', 30)},
dateEnd: function() { return moment() }
},{
text: 'Last 3 months',
dateStart: function(){return moment().subtract('days', 90)},
dateEnd: function() { return moment() }
},{
text: 'Last 6 months',
dateStart: function(){return moment().subtract('days', 180)},
dateEnd: function() { return moment() }
},{
text: 'This Year',
dateStart: function(){return moment().startOf('year')},
dateEnd: function() { return moment() }
}],
change:function(event, data){
// gets inputted dates
var inputData = $('#date-range').daterangepicker('getRange');
console.log(inputData);
// formats dates into unix time stamps
var start = moment(inputData.start).unix();
var end = moment(inputData.end).unix();
console.log(start);
// get current URL of the page (without query string)
var currentUrl = location.protocol+'//'+location.host+location.pathname;
// create new url
var newUrl = currentUrl+'?start='+start+'&end='+end;
// redirect to new URL
//window.location.href = newUrl;
}
});
</script>
に入る前の例アウトプットはここにある:あなたが私の瞬間に渡された開始スタンプを見ることができるようにjsが深夜に2017年10月(これが正しいと私はUIで選択したものを反映して)月2日である
スタート:月2017年10月2日00:00:00 GMT + 0100(GMT夏時間){}
私が使うとき
これは1506898800に変換され、10/01/2017 @ 11:00 pm(UTC)を反映します。
私はmoment()、utc()を試しました。
ここにはどのようなポインタがありますか?
PS私はタイムスタンプに3600を追加することができますが、私は比較的単純なものが欠けていると確信しているので、この方法ではしたくないと思います。
おかげで、すべての
「1506898800」は、「2017-10-02T00:00:00 + 0100」と同じ「2017-10-01T23:00:00 UTC」に等しいことに注意してください。 – VincenzoC
@VincenzoCこの結果を返すには、どのようにしてJSを取得するのですか?私はmoment.local()を試しました。タイムスタンプに3600を追加する唯一の方法はありますか? –
申し訳ありませんが、私はあなたの期待される結果が何かを理解していませんでした。 'inputData.start'をUTCとして解析したい場合は、[' moment.utc'](http://momentjs.com/docs/#/parsing/utc/)を使用してください。 – VincenzoC