Razor를 사용하여 DateTime 형식 변환
다음의 문제는 무엇입니까?
@Convert.ToDateTime((@item.Date.ToShortDateString())," dd - M - yy")
@ item.Date는 2005 년 11 월 20 일 오전 12시를 표시하고 2011 년 11 월 20 일을 표시하고 싶습니다.
시험:
@item.Date.ToString("dd MMM yyyy")
또는 [DisplayFormat]
뷰 모델 에서 속성을 사용할 수 있습니다 .
[DisplayFormat(DataFormatString = "{0:dd MMM yyyy}")]
public DateTime Date { get; set }
그리고 당신의 관점에서 간단히 :
@Html.DisplayFor(x => x.Date)
이것이 해결책입니다.
@item.Published.Value.ToString("dd. MM. yyyy")
ToString () 전에 Value를 사용하십시오 .
MVC 4.0에서 시도해보십시오.
@Html.TextBoxFor(m => m.YourDate, "{0:dd/MM/yyyy}", new { @class = "datefield form-control", @placeholder = "Enter start date..." })
[DisplayFormat] 속성은 TextBoxFor와 같은 원시 HTML API가 아닌 EditorFor / DisplayFor에서만 사용됩니다. 다음을 수행하여 작동하게했습니다.
모델:
[Display(Name = "When was that document issued ?")]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:d}")]
public DateTime? LiquorLicenceDocumentIssueDate { get; set; }
전망:
<div id="IsLiquorLicenceDocumentOnPremisesYes" class="groupLongLabel">
@Html.LabelFor(m => m.LiquorLicenceDocumentIssueDate)
<span class="indicator"></span>
@Html.EditorFor(m => m.LiquorLicenceDocumentIssueDate)
<span id="validEmail"></span>
<br />
@Html.ValidationMessageFor(m => m.LiquorLicenceDocumentIssueDate)
</div>
출력 : 2011 년 12 월 30 일
관련 링크 :
아래 코드가 도움이 될 것입니다.
@Html.Label(@item.Date.Value.ToString("dd - M - yy"))
Razor의 경우 파일 DateTime.cshtml을 Views / Shared / EditorTemplates 폴더에 넣습니다. DateTime.cshtml은 두 줄을 포함하고 날짜 형식이 2001 년 9 월 11 일인 TextBox를 생성합니다.
@model DateTime?
@Html.TextBox("", (Model.HasValue ? Model.Value.ToShortDateString() : string.Empty), new { @class = "datePicker" })
일반적으로 기록 된 월은 MMM으로, 4 자리 연도는 yyyy로 이스케이프되므로 형식 문자열은 "dd MMM yyyy"와 같은 형식이어야합니다.
DateTime.ToString("dd MMM yyyy")
위의 제안을 기반으로이 작업을 완전히 수행 할 수 없었습니다. DataTypeAttribute를 포함하면 [DataType(DataType.Date)]
내 문제가 해결되는 것 같았습니다.
모델
[Required]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:d}", ApplyFormatInEditMode = true)]
public DateTime RptDate { get; set; }
전망
@Html.EditorFor(m => m.CLPosts.RptDate)
HTH
주어진 모든 솔루션에 대해 최신 브라우저 (예 : FF)에서 시도하고 올바른 모델을 설정 한 경우
// Model
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd-MM-yyyy}", ApplyFormatInEditMode = true)]
public DateTime Start { get; set; }
// View
<div class="form-group">
@Html.LabelFor(model => model.Start, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.Start, "{0:dd-MM-yyyy}", new { htmlAttributes = new { @class = "form-control"} })
</div>
</div>
MVC (5) 렌더링 줘야합니다 ( 유형 입력의로 설정되어 최신 모델의 날짜 설정에 따라!)
<div class="col-md-10">
<input class="form-control text-box single-line" data-val="true" data-val-date="The field Start must be a date." data-val-required="The Start field is required." id="Start" name="Start" value="01-05-2018" type="date">
<span class="field-validation-valid text-danger" data-valmsg-for="Start" data-valmsg-replace="true"></span>
</div>
그리고 브라우저에
To fix this you need to change the type to text instead of date (also if you want to use your custom calender)
@Html.EditorFor(model => model.Start, "{0:dd-MM-yyyy}", new { htmlAttributes = new { @class = "form-control", @type = "text" } })
참고URL : https://stackoverflow.com/questions/4679352/converting-datetime-format-using-razor
'programing' 카테고리의 다른 글
Android View shadow (0) | 2020.09.06 |
---|---|
Scala 목록에서 발생 횟수를 어떻게 계산할 수 있습니까? (0) | 2020.09.06 |
보기보다는 모델에서 "number_to_currency"도우미 메서드를 사용하는 방법은 무엇입니까? (0) | 2020.09.06 |
Ruby : 변수를 문자열로 병합 (0) | 2020.09.06 |
최대 값을 초과하지 않고 어떻게 변수를 증가시킬 수 있습니까? (0) | 2020.09.06 |