简体   繁体   English

如何获取客户端机器日期格式?

[英]How to get client machine date format?

I want to get client machine date format, my application is hosted on US machine.我想获取客户端机器日期格式,我的应用程序托管在美国机器上。

Hosting Server date format: MM/dd/yyyy Local(Client) machine date format: dd/MM/yyyy Hosting Server 日期格式:MM/dd/yyyy 本地(客户端)机器日期格式:dd/MM/yyyy

I want to get dd/MM/yyyy format which is the format of the client machine.我想得到 dd/MM/yyyy 格式,这是客户端机器的格式。

I have used the following code but it returns server date format(MM/dd/yyyy) but I want client machine date format(Local).我使用了以下代码,但它返回服务器日期格式(MM/dd/yyyy),但我想要客户端机器日期格式(本地)。

DateTimeFormatInfo info = new DateTimeFormatInfo
{
    ShortDatePattern = CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern
};

Can anyone please tell how to get client machine date format(dd/MM/yyyy)?谁能告诉如何获取客户端机器日期格式(dd/MM/yyyy)?

In MVC asp.net:在 MVC asp.net 中:

Frist put Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(Request.UserLanguages.FirstOrDefault());首先把Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(Request.UserLanguages.FirstOrDefault()); into Application_BeginRequest进入Application_BeginRequest

if you don't have Application_BeginRequest .如果您没有Application_BeginRequest Please click Global.asax in your project.请在您的项目中单击Global.asax

add new function in MvcApplication class在 MvcApplication class 中添加新的 function

protected void Application_BeginRequest() {

Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(Request.UserLanguages.FirstOrDefault()); }

now, you could use format of DateTime.Now with client machine现在,您可以在客户端机器上使用 DateTime.Now 的格式

For Retrieving Client date format.用于检索客户日期格式。 I think java-script would be the best option我认为 java-script 将是最好的选择

Try below code.试试下面的代码。 I hope it will help.我希望它会有所帮助。

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;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM