C# 日期时间偏移格式

C# 日期时间偏移格式,c#,asp.net-mvc-3,C#,Asp.net Mvc 3,我想从DateTimeOffset类型中获取格式化字符串,它应该如下所示:20。2009年7月。(带点),我尝试使用以下代码: Birthday.ToString("dd. MMMM yyyy.") 但我只得到空字符串 编辑: 我在ASP.NET MVC3 C#项目中使用Razor。 以下是完整的一行: @Html.Label(Model.Birthday.ToString("dd. MMMM yyyy.")) 试试这个: Birthday.ToString("dd'.' MMMM yyyy

我想从DateTimeOffset类型中获取格式化字符串,它应该如下所示:20。2009年7月。(带点),我尝试使用以下代码:

Birthday.ToString("dd. MMMM yyyy.")
但我只得到空字符串

编辑: 我在ASP.NET MVC3 C#项目中使用Razor。 以下是完整的一行:

@Html.Label(Model.Birthday.ToString("dd. MMMM yyyy."))
试试这个:

Birthday.ToString("dd'.' MMMM yyyy'.'")
我在我的电脑(VS2010)上尝试了这段代码,它按预期工作:

DateTime Birthday = new DateTime(2009, 7, 20);
string s = Birthday.ToString("dd'.' MMMM yyyy'.'");
DateTimeOffset Birthday1 = new DateTimeOffset(Birthday);
string s1 = Birthday1.ToString("dd'.' MMMM yyyy'.'");
ss1都报告正确。

尝试以下方法:

Birthday.ToString("dd'.' MMMM yyyy'.'")
我在我的电脑(VS2010)上尝试了这段代码,它按预期工作:

DateTime Birthday = new DateTime(2009, 7, 20);
string s = Birthday.ToString("dd'.' MMMM yyyy'.'");
DateTimeOffset Birthday1 = new DateTimeOffset(Birthday);
string s1 = Birthday1.ToString("dd'.' MMMM yyyy'.'");

ss1都报告正确。

您给出的代码应该没有问题-我怀疑您实际上没有为任何内容分配返回值。例如:

using System;

class Test
{
    static void Main()
    {
        DateTimeOffset dto = new DateTimeOffset(2009, 7, 20,
                                                0, 0, 0, TimeSpan.Zero);
        string text = dto.ToString("dd. MMMM yyyy.");
        Console.WriteLine(text); // Prints 20. July 2009. on my machine
    }
}

(显然,您可能也希望指定要使用的区域性。)

您给出的代码应该可以-我怀疑您实际上没有为任何内容指定返回值。例如:

using System;

class Test
{
    static void Main()
    {
        DateTimeOffset dto = new DateTimeOffset(2009, 7, 20,
                                                0, 0, 0, TimeSpan.Zero);
        string text = dto.ToString("dd. MMMM yyyy.");
        Console.WriteLine(text); // Prints 20. July 2009. on my machine
    }
}

(显然,您可能还需要指定要使用的区域性。)

这里不需要引用句点。看看我的答案。@JonSkeet:是的,你是对的。。。我只是用它来确保用户pc上的一些自定义日期分隔符不会导致一些错误。无论如何,你总是对的;)@JonSkeet:即使用户告诉我们他尝试了那个语法,但并没有成功。。。所以我尝试了一些不同的东西…这里没有必要引用句号。看看我的答案。@JonSkeet:是的,你是对的。。。我只是用它来确保用户pc上的一些自定义日期分隔符不会导致一些错误。无论如何,你总是对的;)@JonSkeet:即使用户告诉我们他尝试了那个语法,但并没有成功。。。所以我尝试了一些不同的方法…很抱歉,
我怀疑您实际上没有将返回值分配给任何对象
,请您详细说明一下
返回值
@HarshBaid:我的意思是,仅调用该方法没有任何作用。既然您已经展示了MVC方面的内容,我们应该能够解决它。我不清楚为什么这不起作用,但我不是MVC的人。如果您只是将其更改为
@Html.Label(“2009年7月20日”)
会发生什么?我想你也会得到同样的结果。我的英语声誉有点低,所以问道:d抱歉,但是
我怀疑您实际上没有将返回值分配给任何对象
,请您详细说明一下
返回值
@HarshBaid的意思:我的意思是,仅调用该方法没有任何作用。既然您已经展示了MVC方面的内容,我们应该能够解决它。我不清楚为什么这不起作用,但我不是MVC的人。如果您只是将其更改为
@Html.Label(“2009年7月20日”)
会发生什么?我想你也会得到同样的结果。我的英语声誉有点低,所以问道:D