2017-02-08 111 views
0

我有一個<table>,我想在一個<td>,顯示日期時間是這樣的:04/2017 它的四月,2017年:顯示日期時間 「年」 爲17,而不是2017年(VB)

<td class="card-date"> 
    @Html.DisplayFor(Function(modelItem) item.CreditCardExpirationDate.Month) +"/"+ 
    @Html.DisplayFor(Function(modelItem) item.CreditCardExpirationDate.Year)           

</td> 

但今年是4位數字格式,我只需要2位數字。 而且我需要在月份之前加零。所以它是04而不僅僅是4. Thx。

Example Image

回答

4

你可以使用一個custom format string

item.CreditCardExpirationDate.ToString("MM\/yy") 

從文檔引用:通過12

  • \/月份,從01:

    • MM字面字符/
    • yy:當年,從00到99

    注意:如果CreditCardExpirationDate是不是一個DateTimeDateTime?,你將不得不使用?.ToString而不是.ToString

    由於MVC不允許調用方法DisplayFor,則需要annotate your model property代替:(我使用C#語法,因爲在你的屏幕快照的鏈接將顯示你的模型是用C#。)

    [DisplayFormat(DataFormatString = @"{0:MM\/yy}")] 
    public DateTime CreditCardExpirationDate { get; set; } 
    
  • +0

    我有這個錯誤:[鏈接](https://s30.postimg.org/muvcorkch/Untitled.png) –

    +0

    [鏈接](https://s30.postimg.org/n3f0h8qtt/Untitled.png) –

    +0

    @BallonUra:我已經更新了我的答案。 – Heinzi

    0

    對不起,我不是VB程序員,但在C#我會用DateTimeDate Format strings

    // assuming item.CreditCardExpirationDate is DateTime 
    DateTime date = item.CreditCardExpirationDate; 
    var month = date.ToString("MM"); // month, leading zero 
    var year = date.ToString("yy"); // year, two digits 
    

    我希望你能這個適應VB。

    +0

    它們在VB.NET中也是一樣的。這是一個框架功能,不適用於任何語言 –

    相關問題