2017-04-12 17 views
0

カレンダーから取得した日付を特定の形式に変換しようとしています。 だから私は、特定のセレクタ日付ピッカーを使用して、カレンダーの値を取得しています:Internet ExplorerとSafariで無効な日付が返される

var ChkinDate = $('#myCheckinDate').data('datepicker').getDate(); 
// the value I am getting is: ChkinDate=Mon Apr 24 2017 00:00:00 GMT+0300 (GTB Daylight Time); 

は今、私は特定のフォーマットに

var CheckinDate = moment(new Date(TimezoneDate(ChkinDate))).format('MM/DD/YYYY'); 
function TimezoneDate(objDate) { 
    if (IsEmpty(objDate)) { 
    return moment().format('YYYY-MM-DD 00:00:00'); 
    } 
    else { 
    return moment(objDate).format('YYYY-MM-DD 00:00:00'); 
    } 
} 

を、この日付を変換しようとしています。これは、Windowsマシン上で完璧に取り組んでいますChromeブラウザとMozilla Firefoxを使用していますが、Internet Explorerを使用しているときは、変数「CheckinDate」に「無効な日付」が表示されています。この問題はMacマシンでも発生しますが、現在Safariで「無効な日付」が表示されていますが、Firefoxではうまく機能しています。

答えて

1

は、JavaScriptの日付を使用すると、次のコードを使用することができます取得しているので:あなたのJavaScript日から瞬間オブジェクトを取得するために

function TimezoneDate(objDate) { 
    if (IsEmpty(objDate)) { 
    return moment(); 
    } 
    else { 
    return moment(objDate); 
    } 
} 

var ChkinDate = $('#myCheckinDate').data('datepicker').getDate(); 
var CheckinDate = TimezoneDate(ChkinDate).format('MM/DD/YYYY'); 

使用moment(Date)をして、あなたはフォーマットの瞬間を取得するためにformat()を使用することができます好む(例えば、format('MM/DD/YYYY')またはformat('YYYY-MM-DD HH:mm:ss'))。

私のサンプルでは、​​TimezoneDate関数はモーメントオブジェクトを返しますので、format()(必要なフォーマットを指定)を呼び出すことができます。

ここ

IsEmptyChkinDateをからかっ)ライブワーキングサンプル:

// Mocking IsEmpty function 
 
function IsEmpty(obj){ 
 
    if(obj) return false; 
 
    return true; 
 
} 
 
function TimezoneDate(objDate) { 
 
    if (IsEmpty(objDate)) { 
 
    return moment(); 
 
    } 
 
    else { 
 
    return moment(objDate); 
 
    } 
 
} 
 

 
//var ChkinDate = $('#myCheckinDate').data('datepicker').getDate(); 
 
// Mocking datepicker date 
 
var ChkinDate = new Date(2017, 5, 10); 
 
var CheckinDate = TimezoneDate(ChkinDate).format('MM/DD/YYYY'); 
 
console.log(CheckinDate)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>

+0

こんにちは私は – focus

+0

を "オブジェクトがプロパティまたはメソッド '形式' をサポートしていません" getingています@フォーカスが私の答えを編集して、作業スニペットを追加しました。同じコードを使用していますか? – VincenzoC

関連する問題