재우니의 블로그

 

 

 

20170101
2017-01-01
2017-1-1
2017-1-01
2017-01-1
2017-02-02
2017.01.01
2017.1.1
2017.1.01
2017.01.1
2017.02.02

 

위의 형태 날짜의 기준에 맞게, 문자열이 들어오면, (년,월,일) 형태로 분리해서 받아 나만의 문자열 조합을 만들 수 있습니다.

/// <summary>
/// EPPLUS 의 엑셀 DATE 함수 사용(=DATE())
/// </summary>
/// <param name="dateString">The date string.</param>
/// <returns></returns>
public static string DateExcelFormula(string dateString)
{
    if (TryParseDate(dateString, out int year, out int month, out int day))
    {
        return $"=DATE({year},{month},{day})";
    }

    return dateString;
}

private static bool TryParseDate(string dateString, out int year, out int month, out int day)
{
    string[] formats = {
        "yyyyMMdd", "yyyy-MM-dd", "yyyy-M-d", "yyyy-M-dd", "yyyy-MM-d",
        "yyyy.MM.dd", "yyyy.M.d", "yyyy.M.dd", "yyyy.MM.d", "yyyy.MM.dd"
    };

    DateTime parsedDate;
    if (DateTime.TryParseExact(dateString, formats, null, System.Globalization.DateTimeStyles.None, out parsedDate))
    {
        year = parsedDate.Year;
        month = parsedDate.Month;
        day = parsedDate.Day;
        return true;
    }
    else
    {
        year = month = day = 0;
        return false;
    }
}