[C#/ASP.NET MVC/.NETCORE] TagHelper 클래스 : 유닉스 시간을 현재 시간으로 변환하는 사용자 정의 태그 헬퍼 만들기
C#/ASP.NET MVC 2020. 10. 7. 20:44728x90
반응형
728x170
■ TagHelper 클래스를 사용해 유닉스 시간을 현재 시간으로 변환하는 사용자 정의 태그 헬퍼를 만드는 방법을 보여준다.
▶ TagHelpers/UnixTimeConverterTagHelper.cs
using Microsoft.AspNetCore.Razor.TagHelpers;
using System;
using System.Threading.Tasks;
namespace TestProject.TagHelpers
{
/// <summary>
/// 유닉스 시간 변환자 태그 헬퍼
/// </summary>
public class UnixTimeConverterTagHelper : TagHelper
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Property
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 포맷 문자열 - Format
/// <summary>
/// 포맷 문자열
/// </summary>
public string Format { get; set; } = "yyyy-MM-dd HH:mm:ss";
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 비동기 처리하기 - ProcessAsync(context, output)
/// <summary>
/// 비동기 처리하기
/// </summary>
/// <param name="context">컨텍스트</param>
/// <param name="output">출력</param>
/// <returns>태스크</returns>
public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
{
string sourceContent = (await output.GetChildContentAsync()).GetContent();
DateTime unixTime = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
DateTime currentTime = unixTime.AddSeconds(Convert.ToDouble(sourceContent));
string targetContent = currentTime.ToString(Format);
output.Content.SetContent(targetContent);
}
#endregion
}
}
▶ Views/Test/Index.cshtml
@addTagHelper *, TestProject
@{ Layout = null; }
<p>TagHelper 클래스 : 유닉스 시간을 현재 시간으로 변환하는 사용자 정의 태그 헬퍼 만들기</p>
<hr />
<p><unix-time-converter>1462004724</unix-time-converter></p>
<p><unix-time-converter Format="HH:mm:ss">1462004724</unix-time-converter></p>
728x90
반응형
그리드형(광고전용)
댓글을 달아 주세요