Asp.net mvc ASP.NET MVC区域性更改日期时间格式

Asp.net mvc ASP.NET MVC区域性更改日期时间格式,asp.net-mvc,globalization,datetime-format,Asp.net Mvc,Globalization,Datetime Format,我有一个ASP.NETMVC4withEF项目。当用户登录时,我正在更改当前线程区域性。 Global.asax.cs protected void Application_BeginRequest(object sender, EventArgs e) { CultureInfo objculture = new CultureInfo(Helios.MvcApplication.Lang); //Lang = en-US, ro-RO, fr-F

我有一个ASP.NETMVC4withEF项目。当用户登录时,我正在更改当前线程区域性。 Global.asax.cs

protected void Application_BeginRequest(object sender, EventArgs e)
    {           
        CultureInfo objculture = new CultureInfo(Helios.MvcApplication.Lang); //Lang = en-US, ro-RO, fr-FR

        //DateTimeFormatInfo objDTFI = objculture.DateTimeFormat;
        //objDTFI.ShortDatePattern = "dd.MM.YY";
        //objDTFI.DateSeparator = ".";
        //objculture.DateTimeFormat = objDTFI;

        objculture.NumberFormat.CurrencyDecimalSeparator = ".";
        objculture.NumberFormat.NumberDecimalSeparator = ".";

        Thread.CurrentThread.CurrentUICulture = objculture;
        Thread.CurrentThread.CurrentCulture = objculture;   
    }
DateTime.cshtml//EditorTemplate for my DateTime

@model System.DateTime?
@Html.TextBox("", String.Format("{0:d}", Model.HasValue ? Model : DateTime.Today), new { @class = "datefield" })

<link rel="stylesheet" href="http://code.jquery.com/ui/1.8.20/themes/base/jquery-ui.css" type="text/css" media="all" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script src="http://code.jquery.com/ui/1.8.20/jquery-ui.min.js" type="text/javascript"></script>

<script  type="text/javascript">
$(function () {
    $(".datefield").datepicker({
        changeMonth: true, changeYear: true, firstDay: 1, changeYear: true,
        dateFormat: 'dd.mm.yy'
    });
});
@model System.DateTime?
@Html.TextBox(“”,String.Format(“{0:d}”,Model.HasValue?Model:DateTime.Today),new{@class=“datefield”})
$(函数(){
$(“.datefield”).datepicker({
changeMonth:true,changeYear:true,firstDay:1,changeYear:true,
日期格式:“年月日”
});
});
如果我使用:String.Format(“{0:yyyy-MM-dd}”或String.Format(“{0:MM-dd-yyyy}”)它可以工作,但是如果我使用String.Format(“{0:dd.MM.yyyy}”它不工作


Q:如何将每个文化/语言的日期时间格式更改为“dd.MM.yyyy”

我正在寻找答案, 在这里找到了答案


旧问题,但对于其他需要更改字符串格式而不考虑当前区域性的人:

DateTime.Today.ToString("dd.MM.yyyy", CultureInfo.InvariantCulture)

我不清楚你的问题是什么。你是说你想强制输出为特定的格式(dd.MM.yyyy),而不是依赖于区域性相关的格式吗?这不是你想要的吗?是的,就像我对十进制所做的那样separator@Mariusz在何处指定.TryParseExact方法?(在DateTime EditorTemplate中)。这是用于从字符串转换为datetime。我不理解您的问题,您希望以其他方式执行。您希望以dd.MM.yyyy格式的字符串形式显示datetime对象。我使用datetime dt=datetime。现在;dt.ToString(“dd.MM.yyyy”);它工作正常,您尝试过这样做吗?