服务器上的日期格式不同

hud*_*hab 2 c# asp.net datetime

当我执行下面的代码时,我将我的日期格式化为04-07-2015符合预期的我想要的日期.

但是当我在另一台服务器上执行相同的代码时,我的日期为7/4/2015.为什么?

这是我在pageload上的代码:

protected void Page_Load(object sender, EventArgs e)
{
    if(!IsPostBack)
    {
        fillProject();
    }
    grdData.Visible = false;
    TxtIndate.Value = System.DateTime.Now.ToShortDateString();
    txtOutDate.Value = System.DateTime.Now.ToShortDateString();
}
Run Code Online (Sandbox Code Playgroud)

Son*_*nül 5

ToShortDateString方法使用ShortDatePattern属性CurrentCulture设置.

可能你的服务器有不同的文化设置,这就是为什么当你运行这个代码时,你会获得不同的字符串表示DateTime.

如果您想在两个服务器中获得相同的表示,请在区域和语言设置中的两个服务器上设置相同的文化,或使用自定义日期和时间格式说明符,如;

TxtIndate.Value = DateTime.Now.ToString("dd-MM-yyyy");
Run Code Online (Sandbox Code Playgroud)

或者作为Matt提到的更好的方式,使用InvariantCulture字符串格式,如;

TxtIndate.Value = DateTime.Now.ToString("dd-MM-yyyy", CultureInfo.InvariantCulture );
Run Code Online (Sandbox Code Playgroud)