2014-10-10 9 views
1

Я должен протоколирует ошибку с DateTime в некотором файле, для этого я использую следующий код:Формат даты в Javascript

var dLogDate = new Date(); 
console.log(dLogDate.toString().substring(4) + ', ' + dLogDate.toGMTString().substring(4)); 

согласно выше выходной код приходит следующим образом, и это приятно, но не отформатированный как я необходимо:

"Oct 10 2014 12:48:59 GMT+0530 (IST), 10 Oct 2014 07:18:59 GMT" 

Я хочу привести s следующим образом:

"10 Oct 2014 12:48:59 (IST), 10 Oct 2014 07:18:59 (GMT)" 

см часть даты, прежде чем "". Мне нужно 10 октября восстановлены из 10 октября

Это может быть сделано с некоторой функцией, которая подстроку первые 4 символа из строки и CONCAT на 3-й позиции снова, Но я все еще интересно знать, если есть ли другой простой способ сделать это? Я не хочу использовать стороннюю библиотеку/скрипт.

Спасибо.

+0

взглянуть на [momentjs.com] (http://momentjs.com/) , Это библиотека для работы с датами в JavaScript. – Reeno

ответ

0

Вы можете использовать функции даты в формат даты

http://www.w3schools.com/jsref/jsref_obj_date.asp

var monthIndex = date.getMonth();

var dayIndex = date.getDay();

var monthArray = ['January',....];

var dayArray = ['Sunday',...]

console.log(monthArray[monthIndex] + "-" + dayArray[dayIndex]);

0

Вы можете попробовать добавить в прототип метода расширения toISTString

function pad(n) { 
    return (n < 10) ? '0' + n : n; 
} 

Date.prototype.toISTString = function(locale) { 
    var year = this.getFullYear().toString(); 
    var month = this.toLocaleString(locale, { month: "short" }) // ECMAScript Internationalization API, which is very new only available in Blink browsers (Chrome and Opera), IE11, and Firefox 29+. 
    var day = this.getDate().toString(); 
    var hrs = this.getHours().toString(); 
    var mins = this.getMinutes().toString(); 
    var secs = this.getSeconds().toString(); 
    return day + " " + month + " " + year + " " + pad(hrs) + ":" + pad(mins) + ":" + secs + " (IST)"; 
}; 

dLogDate = new Date(); 
console.log(dLogDate.toISTString("en-us") + ', ' + dLogDate.toGMTString().substring(4)); 

JSFiddle

Смежные вопросы