Преобразовать строку как «мм / дд / гггг» в «день недели, название месяца, год» в JavaScript - PullRequest
0 голосов
/ 16 декабря 2011

Я возвращаю день рождения друзей пользователей Facebook из Facebook в следующем формате:

10/07/1967 or just the day and month as 10/07

Я хочу отобразить его как «Октябрь 07, 1967» или «Октябрь 07»

Есть ли способ преобразовать эту строку в дату и отформатировать ее в Javascript?

Ответы [ 5 ]

2 голосов
/ 16 декабря 2011
var MONTHS = ["January","February","March","April","May","June","July","August","September","October","November","December"];
var myDate, myFormatDate;
var date_str ='10/07/1967';
var t = date_str.split("/");
if(t[2]) {
    myDate = new Date(t[2], t[0] - 1, t[1]);
    myFormatDate = MONTHS[myDate.getMonth()] + "," + myDate.getDate() + "," + myDate.getFullYear();
} else {
    myDate = new Date(new Date().getFullYear(), t[0] - 1, t[1]);
    myFormatDate = MONTHS[myDate.getMonth()] + "," + mydate.getDate();
}

= РЕЗУЛЬТАТ:
= myDate - объект даты
= myFormatDate - форматированная строка даты "07 октября 1967 года"

1 голос
/ 16 декабря 2011

Чтобы сделать это быстро, без наворотов, вы можете сначала разделить дату

myDateParts = myDate.split("/");

Затем построить новую дату из частей:

myNewDate = new Date(myDateParts[2], myDateParts[1], myDateParts[0]);
1 голос
/ 16 декабря 2011

Проверьте классную библиотеку DateJS .Вы сможете делать то, что хотите, и даже больше ...

[Нет, я никак не связан с DateJ, просто очень довольный пользователь: -)]

0 голосов
/ 16 декабря 2011

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

var birthday = new Date('10/07/1967');

Конструктор также будет принимать строки без года, например '10 / 07 ',Затем вы можете получить доступ к каждому из свойств по своему усмотрению: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date

0 голосов
/ 16 декабря 2011

Используя moment.js , вы можете конвертировать дату с:

moment('10/07/1967', "MM/DD/YYYY").format("MMMM, DD, YY")

, где первая часть получает дату из строки, заданной в формате ("MM/DD/YYYY"), затем вы просто форматируете дату так, как хотите, давая другой формат ("MMMM, DD, YY")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...