web-dev-qa-db-ja.com

文字列 'dd / mm / yy hh:MM:ss'をJavaScriptの日付に変換する方法は?

私はこれをやった

    var d='dd/mm/yy hh:MM:ss';
    var d1=d.split(" ");
    var date=d1[0].split("/");
    var time=d1[1].split(":");
    var dd=date[0];
    var mm=date[1]-1;
    var yy=date[2];
    var hh=time[0];
    var min=time[1];
    var ss=time[2];
    var fromdt= new Date("20"+yy,mm-1,dd,hh,min,ss);

JQuery OR JavaScriptを使用してそれを行う方法はありますか?

8
Kumar

JqueryまたはJavaScriptで代替手段を探している場合は、 Moment.js を使用して、ここでParseValidateManipulate、および JavaScriptで日付を表示します。

例:

  var date= moment("06/06/2015 11:11:11").format('DD-MMM-YYYY');
12

Date.parse() はどうですか?

new Date( Date.parse("05/12/05 11:11:11") );
// Thu May 12 2005 11:11:11 GMT+0200 (CEST)

生成される出力はローカルタイムゾーンであり、タイムゾーンが異なるブラウザーでは異なります。

5
marekful

モーメントjsを使用して、任意のローカル日付形式をdatetimeデータ型に変換できます。

構文:

moment('<local date value>','<local date format>').format('<expected convert format>')

例:

moment('26/05/1986 00:00', 'DD/MM/YYYY HH:mm').format("MM/DD/YYYY HH:mm");

次に、出力は1986年5月26日00:になります。

乾杯

5
Palani Kumar

これは、dd/mm/yyy hh:mm:ss形式のタイムゾーンに関係なく機能します。また、サードパーティのパッケージには依存しません。

let dtStr = "12/03/2010 09:55:35"

console.log(strToDate(dtStr))

// expected output:
// Fri Mar 12 2010 09:55:35

function strToDate(dtStr) {

    let dateParts = dtStr.split("/");
    let timeParts = dateParts[2].split(" ")[1].split(":");
    dateParts[2] = dateParts[2].split(" ")[0];
    // month is 0-based, that's why we need dataParts[1] - 1
    return dateObject = new Date(+dateParts[2], dateParts[1] - 1, +dateParts[0], timeParts[0], timeParts[1], timeParts[2]); 

}
1
Sean Coley

あなたのコードから、あなたは文字列を日付に変換しようとしているようで、また前月を取得しようとしているようです。はいの場合、以下のようにコードを再構築できます。

Date.prototype.SubtractMonth = function(numberOfMonths) {
var d = this;
d.setMonth(d.getMonth() - numberOfMonths);
return d;
}

$(document).ready(function() {
     var dateString='2015-06-17T18:30:12';
    var d = new Date(dateString);
    alert(d.SubtractMonth(1));
});
0
sAcH

Date#parseは、文字列で分割した場合にそれを解析できるはずです。また、日付操作のためにnpmパッケージの瞬間を調べることをお勧めします

0
PhilVarg