Rakesh Jogani Ответов: 2

Получить формат даты и времени клиентской машины в javascript


Привет

Мне нужен формат даты и времени клиентской машины, который устанавливается Пользователем в javascript.
Только не на стороне сервера.

Спасибо С Уважением
Ракеш Жогани

Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)

Что вы пробовали и в чем проблема?

ZurdoDev

Где ты застрял? В JS вы можете сделать var t_date = new Date();

Rakesh Jogani

я получаю только тот тип формата даты, который установлен в клиентской машине.

ZurdoDev

Тогда я не понимаю, что тебе нужно.

2 Ответов

Рейтинг:
2

Kornfeld Eliyahu Peter

Вы не можете таким образом вызвать функцию - JavaScript не раскрывает информацию о базовой ОС, по соображениям безопасности.
Вы можете использовать toLocaleDateString() от Date объект, чтобы получить строку определенной даты (например, 12/13/2014), а затем проанализировать строку, чтобы решить, что было исходной строкой форматирования...


SanjeevkumR

Если мы получим дату клиентской машины как "06-10-2014" в нашем Javascript, то как решить, какой это месяц/дата? может быть либо "06" - это месяц, либо "10" - это месяц. В этом случае система запутывается и может выдать неверный результат.
Есть ли другой способ решить эту проблему?
Даже я сталкиваюсь с такой же ситуацией.

Рейтинг:
1

Hodeifa Abdullah Baswel

Привет, я сделал функцию для определения формата даты клиента. Функция определяет
разделитель формата даты, а также определить 1-ю, 2-ю и третью части
формат даты.

getDateFormat(){
        // initialize date value "31st January 2019"
        var my_date = new Date(2019,0,31);
        console.log(my_date.toLocaleDateString());
        // Initialize variables
        var separator="";
        var first="";
        var second="";
        var third="";
        var date_parts = [];

        // get separator : "-", "/" or " ", format based on toLocaleDateString function        
        if (my_date.toLocaleDateString().split("-").length==3){
            separator = " - ";
            date_parts = my_date.toLocaleDateString().split("-");
        } 
        if (my_date.toLocaleDateString().split("/").length == 3) {
            separator = " / ";
            date_parts = my_date.toLocaleDateString().split("/");
        } 
        if (my_date.toLocaleDateString().split(" ").length == 3) {
            separator = " ";
            date_parts = my_date.toLocaleDateString().split(" ");
        } 

        // get first part        
        if (date_parts[0]==2019){
            first ="yyyy";
        } else if (date_parts[0] == 31){
            first = "dd";
        } else{
            if (date_parts[0].length<=2){
                first ="mm";
            }
            else{
                first="mmm";
            }
        }

        // get second part        
        if (date_parts[1] == 2019) {
            second = "yyyy";
        } else if (date_parts[1] == 31) {
            second = "dd";
        } else {
            if (date_parts[1].length <= 2) {
                second = "mm";
            }
            else {
                second = "mmm";
            }
        }

        // get third part        
        if (date_parts[2] == 2019) {
            third = "yyyy";
        } else if (date_parts[2] == 31) {
            third = "dd";
        } else {
            if (date_parts[2].length <= 2) {
                third = "mm";
            }
            else {
                third = "mmm";
            }
        }

        // assembly
        var format = first + separator + second + separator + third;
        console.log(format);
        return format;
    }