2

ブログアプリケーションのアーカイブリストを作成しようとしています。私はこのコードスニペットを持つveiwモデルを持っています:

@model IEnumerable<NPLHBlog.Models.ArchiveListModels>
...
        @foreach (var item in Model)
        {
            <li>@item.ArchiveMonth/@item.ArchiveYear : @item.PostCount</li>
        }
...

item.ArchiveMonthを「1」ではなく「Jan」として印刷しようとしています。

ArchiveListModelは次のとおりです。

public class ArchiveListModels
{
    public int ArchiveYear { get; set; }
    public int ArchiveMonth { get; set; }
    public int PostCount { get; set; }
}

ブログは次のようにリポジトリから読み取られます。

    public IQueryable<ArchiveListModels> ArchiveList()
    {
        var archiveList = from blogs in db.Blogs
                          group blogs by new { blogs.PublishDate.Year, blogs.PublishDate.Month }
                              into dateGroup
                              select new ArchiveListModels()
                              {
                                  ArchiveYear = dateGroup.Key.Year,
                                  ArchiveMonth = dateGroup.Key.Month,
                                  PostCount = dateGroup.Count()
                              };
        return archiveList;
    }

どうもありがとう。

4

4 に答える 4

11
CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(1);

または略語の場合

CultureInfo.CurrentUICulture.DateTimeFormat.AbbreviatedMonthNames[1];
于 2012-07-03T21:41:55.287 に答える
4

完全な月の名前を取得するには

int month = 1;
System.Globalization.CultureInfo.CurrentUICulture.DateTimeFormat.GetMonthName(month);

または、日時の文字列形式を使用できます。

int month = 1;
var dt = new DateTime(2012, month, 1):
var monthAbbr = dt.ToString("MMM");

または、略語リストに対してルックアップを行うことができます

int month = 1;
var monthAbbr =     System.Globalization.CultureInfo.CurrentUICulture.DateTimeFormat.AbbreviatedMonthNames[month];
于 2012-07-03T21:49:33.703 に答える
3

私はあなたが望むと信じています:

.ToString("MMM");

特定の月の独自のDateTimeオブジェクトを作成することもできます。

DateTime jan = new DateTime(2012, 1, 1);
return jan.Date.ToString("MMM");
于 2012-07-03T21:43:58.030 に答える
0

データベースのデータにViewBagsを使用する場合は、その形式を簡単に使用することもできます。覚えておいてください。

@foreach (var item in ViewBag.HealthCare)
{
    @item.Created_Date.ToString("MMMM yyyy")

}
于 2017-09-26T01:26:09.050 に答える