根据本地pc区域的日期格式

时间:2013-04-19 05:51:55

标签: javascript date

我正在尝试创建一个需要根据pc区域设置显示日期格式的JAVASCRIPT代码。我需要以“2013年4月19日”的以下模式表示为“2013年4月19日”或“19/04/2013”​​或“2013/04/19”,以适用于该地区为准。

2 个答案:

答案 0 :(得分:0)

下面,轻量级方法可能会有所帮助:[但是,有许多jquery插件/库可用)

  1. 以UTC格式在db中保存日期(如果不是以utc格式保存,则将其转换为utc格式)
  2. 在javascript中, var localeDate = new Date(“{Utc Date from Server}”+“utc”)//只需在日期附加“utc”
  3. 如果您是ASP.NET MVC,那么下面的代码段可能会有所帮助:

    $(“#spanTime”)。text(new Date('@ Model.EventDateTimeStr'+“utc”)。stringFormat(“MM / DD / YYYY”));

    Date.prototype.stringFormat = function (format) {
        var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
        var monthsFull = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
    
        var dt = this;
        var h = dt.getHours();
        var d = dt.getDate();
        var M = dt.getMonth() + 1;
        var yyyy = dt.getFullYear();
        var yy = padBefore((yyyy + "").substr(2, 2), 2);
        var m = dt.getMinutes();
    
        var dd = padBefore(d, 2);
        var MM = padBefore(M, 2);
        var mm = padBefore(m, 2);
    
        var MMM = months[M - 1];
        var MMMM = monthsFull[M - 1];
    
        var H = h;
        var HH = padBefore(h, 2);
        var hh = "";
        var tt = "PM";
    
        if (h >= 12) {
            if (h != 12) {
                h = h - 12;
            }
        } else {
            if (h == 0) h = 12;
            tt = " AM";
        }
    
        hh = padBefore(h, 2);
    
        return format
            .replace("hh", hh)
            .replace("h", h)
    
            .replace("HH", HH)
            .replace("H", H)
    
            .replace("mm", mm)
            .replace("m", m)
    
    
    
    
            .replace("dd", dd)
            .replace("d", d)
    
            .replace("MMMM", MMMM)
            .replace("MMM", MMM)
            .replace("MM", MM)
            /*.replace("M", M)*/
    
            .replace("yyyy", yyyy)
            .replace("yy", yy)
    
            .replace("tt", tt);
    
    };
    

答案 1 :(得分:0)

您可以根据navigator.language

格式化日期

https://developer.mozilla.org/en-US/docs/DOM/window.navigator.language

var lang= navigator.browserLanguage || navigator.language || navigator.userLanguage;