itsathere Ответов: 1

Преобразование строки даты fromatted в новую дату("fromatted_date_string") в javascript


var date=new Date();
var enDate=date.toLocaleDateString("en-US");
console.log(enDate);
var deDate=date.toLocaleDateString("de-DE");
console.log(deDate);


I can create date format with culture but can we revert back to that converted enDate or deDate to javascript date format again.


Что я уже пробовал:

var date=new Date(enDate);
var date=new Date(deDate);
//or
var date=Date.parse(enDate);
//It returns invalid date

Richard MacCutchan

Посмотрите на сами строки и посмотрите, что они содержат. Допустимы ли эти строки даты в Javascript?

itsathere

Все это было бы действительным, но преобразование на сегодняшний день происходит на основе региона. Если я попытаюсь преобразовать другой формат региона в свой регион, то он вернет недопустимую дату.

Richard MacCutchan

Даты и время должны быть всегда быть сохранены как значения мирового. Единственный раз, когда вам нужно "регионировать" их, - это когда вы печатаете или отображаете их в текстовом формате.

1 Ответов

Рейтинг:
6

itsathere

function stringFormatToNewDate(date) {
    var dd = 0, mm = 0, yyyy = 0;
    var splittedFormat = [];
    var splittedDate = [];
    $.each(dateSeperators, function (index, item) {
        splittedFormat = __dateFormat.split(item);
        splittedDate = date.split(item);
        if (splittedFormat.length > 1 && splittedDate.length > 1) {
            return false;
        }
    });

    for (var i = 0; i <= splittedFormat.length; i++) {
        switch (splittedFormat[i]) {
            case "dd":
            case "d":
                dd = splittedDate[i];
                break;
            case "mm":
            case "m":
                mm = splittedDate[i];
                break;
            case "yyyy":
                yyyy = splittedDate[i];
                break;
        }
    }
    return new Date(yyyy, mm - 1, dd);
}


MadMyche

Как это определяет, какую культуру применять?

itsathere

Вы не поняли вопрос, и вы не прочитали вопрос тщательно, вот почему вы задаете эти вопросы. Просто внимательно прочитайте вопрос и вот ссылка для вас https://www.nuget.org/packages/jquery-globalize/

MadMyche

Я прекрасно понимаю ваш вопрос и ваш код. И это прекрасный пример того, почему даты должны храниться в виде даты до тех пор, пока она не будет отображена. "02/12/2019" и "12.02.2019" могут содержать действительные даты в любом из них культура