فرمت های Date Time در ASP.Net MVC
چهارشنبه 21 مهر 1395در این مقاله ، با فرمت بندی زمان و تاریخ با استفاده از #C در MVC آشنا خواهید شد . همچنین در این مقاله با چگونگی ارسال اطلاعات از Controller به Views با استفاده از ViewData ها آشنا خواهید شد .
معرفی :
اکثرِ اوقات ، زمانی که با یک برنامه کار میکنید ، مجبور به وارد کردن Date, DateTime یا یک فرمت سفارشی date در پایگاه داده هستید . یا اینکه گاهی اوقات ما قصد نشان دادن زمان را در UI داریم . گاهی اوقات ما باید زمان را از سیستم کاربر دریافت کنیم . در این مقاله ما با یکسری از فرمت های date و استفاده آنها در MVC آشنا خواهیم .
مرحله اول : یک Controller ایجاد کنید که یک view را بازمیگرداند .
public class DemoController : Controller
{
public ActionResult DtLocation()
{
DateTime defaultDate = default(DateTime); // return 1/1/0001 12:00:00 AM
var shortDT = defaultDate.ToString().Replace("12:00:00 AM", ""); // return 08/05/2016 12:56 PM
var userDt = DateTime.Now.ToString("MM/dd/yyyy hh:mm tt"); // return 08/05/2016 12:56 PM
var nwDt = DateTime.Now.ToShortDateString(); // return 08/05/2016 12:56 PM
var nwTm = DateTime.Now.ToShortTimeString(); // return 12:24 PM
DateTime dtByUser = DateTime.Parse(userDt).Date; // return 8/5/2016 12:00:00 AM
var longDt = dtByUser.ToLongDateString(); // return Friday, August 05, 2016
var shortTm = dtByUser.ToLongTimeString(); // return 12:00:00 AM
var formattedDt = dtByUser.ToString("yyyy-MM-dd"); // return 2016-08-05
var fDt = DateTime.Now.ToString("dddd, dd MMMM yyyy"); // return Friday, 05 August 2016
ViewData["removeTm"] = shortDT;
ViewData["nowDt"] = nwDt;
ViewData["nowTm"] = nwTm;
ViewData["userDt"] = dtByUser;
ViewData["longDt"] = longDt;
ViewData["shortTm"] = shortTm;
ViewData["formattedDt"] = formattedDt;
ViewData["fDt"] = fDt;
TimeZone zone = TimeZone.CurrentTimeZone;
ViewData["CurrentTimeZone"] = zone.StandardName;
TimeSpan UTCOffset = zone.GetUtcOffset(DateTime.Now); // return 05:30:00
ViewData["UTCOffset"] = UTCOffset;
System.Globalization.DaylightTime dayLightTm = zone.GetDaylightChanges(dtByUser.Year);
ViewData["dayLightStartTm"] = dayLightTm.Start.ToString("hh:mm:ss tt");
var s = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.Now, zone.StandardName); // return 8/5/2016 12:56:18 PM
ViewData["ConvertedTZone"] = s;
return View();
}
}
مرحله دوم : برای action بالا یک view ایجاد کرده ، و از تمامی ViewDataها استفاده میکنیم . کدهای زیر را در View قرار دهید .
@{
ViewBag.Title = "Time & Date";
}
@*Barnamenevisan.org*@
<div style="width: 100%;">
<br/>
<br/>
<div class="panel panel-success">
<div class="panel-heading"> فرمت بندی زمان و تاریخ </div>
<div class="panel-body">
<table style="width: 100%;">
<tr>
<td style="width: 15%;">
Remove Time From Default Date :
</td>
<td style="width: 50%;">
@ViewData["removeTm"]
</td>
</tr>
<tr>
<td style="width: 15%;">
Todays Date :
</td>
<td style="width: 50%;">
@ViewData["nowDt"]
</td>
</tr>
<tr>
<td style="width: 15%;">
Current Time :
</td>
<td style="width: 50%;">
@ViewData["nowTm"]
</td>
</tr>
<tr>
<td style="width: 15%;">
User Date :
</td>
<td style="width: 50%;">
@ViewData["userDt"]
</td>
</tr>
<tr>
<td style="width: 15%;">
Long Date :
</td>
<td style="width: 50%;">
@ViewData["longDt"]
</td>
</tr>
<tr>
<td style="width: 15%;">
Formatted Date:
</td>
<td style="width: 50%;">
@ViewData["formattedDt"]
</td>
</tr>
<tr>
<td style="width: 15%;">
Date :
</td>
<td style="width: 50%;">
@ViewData["fDt"]
</td>
</tr>
<tr>
<td style="width: 15%;">
Current Time Zone :
</td>
<td style="width: 50%;">
@ViewData["CurrentTimeZone"]
</td>
</tr>
<tr>
<td style="width: 15%;">
UTC Offset :
</td>
<td style="width: 50%;">
@ViewData["UTCOffset"]
</td>
</tr>
<tr>
<td style="width: 15%;">
Day Light Start Time :
</td>
<td style="width: 50%;">
@ViewData["dayLightStartTm"]
</td>
</tr>
<tr>
<td style="width: 15%;">
Converted Time :
</td>
<td style="width: 50%;">
@ViewData["ConvertedTZone"]
</td>
</tr>
</table>
</div>
</div>
</div>
خروجی آن بصورت زیر خواهد بود :

آموزش asp.net mvc
- ASP.net MVC
- 3k بازدید
- 4 تشکر