निम्नलिखित में क्या गलत है?
@Convert.ToDateTime((@item.Date.ToShortDateString())," dd - M - yy")
@ item.Date 20/11/2005 12:00 am दिखा रहा है और मैं 20 नवंबर 2011 को प्रदर्शित करना चाहता हूं
निम्नलिखित में क्या गलत है?
@Convert.ToDateTime((@item.Date.ToShortDateString())," dd - M - yy")
@ item.Date 20/11/2005 12:00 am दिखा रहा है और मैं 20 नवंबर 2011 को प्रदर्शित करना चाहता हूं
जवाबों:
प्रयत्न:
@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 () से पहले मान का उपयोग करें ।
@(item.DOB?.ToString("dd-MMM-yyyy"))
। या HasValue संपत्ति का उपयोग करके - @(item.DataDate.HasValue ? item.DataDate.Value.Date.ToString("dd MMM yyyy") : null)
। दोनों ही मामलों में संपत्ति अशक्त डेटाटाइम होना चाहिए।
MVC 4.0 में यह प्रयास करें
@Html.TextBoxFor(m => m.YourDate, "{0:dd/MM/yyyy}", new { @class = "datefield form-control", @placeholder = "Enter start date..." })
[DisplayFormat] विशेषता का उपयोग केवल EditorFor / DisplayFor में किया जाता है, न कि TextBox बॉक्सर जैसे कच्चे HTML APIs द्वारा। मैंने निम्नलिखित कार्य करके इसे प्राप्त किया,
नमूना:
[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>
आउटपुट: 30/12/2011
संबंधित लिंक:
रेजर के लिए DateTime.cshtml फ़ाइल को दृश्य / साझा / EditorTemplates फ़ोल्डर में रखें। DateTime.cshtml में दो लाइनें होती हैं और एक पाठ बॉक्स का निर्माण होता है जिसमें दिनांक 9/11/2001 प्रारूपित होता है।
@model DateTime?
@Html.TextBox("", (Model.HasValue ? Model.Value.ToShortDateString() : string.Empty), new { @class = "datePicker" })
मैं ऊपर दिए गए सुझावों के आधार पर यह पूरी तरह से काम नहीं कर पा रहा था। जिसमें 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
सभी दिए गए समाधान के लिए, जब आप आधुनिक ब्राउज़र (जैसे एफएफ) में यह कोशिश करते हैं, और आपने सही मॉडल सेट किया है
// 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) wil रेंडर ( इनपुट का प्रकार आपके मॉडल में आपकी तारीख सेटिंग्स के आधार पर तारीख पर सेट है !)
<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>
और ब्राउजर दिखाएगा
इसे ठीक करने के आप को बदलने की जरूरत प्रकार के पाठ के बजाय तिथि (आप अपने कस्टम कैलेंडर का उपयोग करना चाहते भी हैं)
@Html.EditorFor(model => model.Start, "{0:dd-MM-yyyy}", new { htmlAttributes = new { @class = "form-control", @type = "text" } })