jQuery меняет формат данных со строки - PullRequest
2 голосов
/ 22 сентября 2010

У меня есть эта строка: 2010-09-21T15: 48: 12.754 + 02: 00

Я бы преобразовал ее в этот формат: вт 21 сен 15:48:12 CEST 2010

Как я могу сделать это с помощью javascript или jQuery?

Большое спасибо.MP.

Ответы [ 4 ]

1 голос
/ 22 сентября 2010

Попробуйте это:

var myDate = new Date("2010-09-21T15:48:12.754+02:00")
alert(myDate);

EDIT

Если вы хотите, вы можете написать свой собственный формат даты, например:

var date = new Date("2010-09-21T15:48:12.754+02:00");
var days = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; 
var myDate = '';
myDate += days[date.getDay()] + " " + months[date.getMonth()] + " " + date.getDate() + " ";
myDate += date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds() + " ";
myDate += "0" + date.getTimezoneOffset() / 60 + ":00 " + date.getFullYear();
alert(myDate);

См. В jsfiddle .


EDIT

Другой пример:

// crazy date
var date = new Date("2010-09-22");
var days = ['Weekend!', 'Workday', 'Workday', 'Workday', 'Workday', 'Workday', 'Weekend!'];
var months = ['Winter', 'Winter', 'Spring', 'Spring', 'Spring', 'Summer', 'Summer', 'Summer', 'Autumn', 'Autumn', 'Autumn', 'Winter'];
var myDate = "We are in " + months[date.getMonth()] + " and today is a " +  days[date.getDay()];
alert(myDate);
0 голосов
/ 23 сентября 2010

Решено.

var datasplit=obj.requests[i].start.split("T");

                    datasplit[1]=datasplit[1].slice(0,7);

                    var d = new Date(datasplit[0]+" "+datasplit[1]);
                    var date = d.toDateString().split(/\s/);
                    var time = d.getHours() +':'+ d.getMinutes() +':'+ d.getSeconds();
                    date.splice(3, 3, time, 'CEST', d.getFullYear());
                    date.join(' '); // Tue Sep 21 15:48:12 CEST 2010
                    //alert(date);
                    var data=date.toString();
                    data=data.replace(/,/g," ");

Спасибо.

0 голосов
/ 22 сентября 2010

Попробуйте это:

var d = new Date("2010-09-21T15:48:12.754+02:00");
var date = d.toDateString().split(/\s/);
var time = d.getHours() +':'+ d.getMinutes() +':'+ d.getSeconds();
date.splice(3, 3, time, 'CEST', d.getFullYear());
date.join(' '); // Tue Sep 21 15:48:12 CEST 2010 
0 голосов
/ 22 сентября 2010

Согласно Topera, создайте объект даты, а затем используйте методы объектов для создания строки, отформатированной так, как вам нравится.

Вот ссылка: http://www.w3schools.com/jsref/jsref_obj_date.asp

...