>source

C# 가 있어요   Razor  현재 날짜를 생성하고 다음 문자열 형식으로 형식화해야하는 코드- yyyy-mm-dd . 사용중인 코드로 작동하지 않는 것 같습니다. 2001-01-02 를 받고 있어요  현재 날짜 대신 내가 뭘 잘못하고 있는지 잘 모르겠습니다. DateTime() 하지 않습니다  기본적으로 현재 날짜를 제공 하시겠습니까?

var today = new DateTime();
var dd = today.Date.Day;
var mm = today.Month + 1;
var yyyy = today.Year;
var yyyy_string = yyyy.ToString();
var mm_string = mm.ToString();
var dd_string = dd.ToString();
if (dd < 10)
{
    dd_string = '0' + dd_string;
}
if (mm < 10)
{
    mm_string = '0' + mm_string;
}
var today_string = yyyy_string + '-' + mm_string + '-' + dd_string;

  • 답변 # 1

    형식화 된 현재 날짜와 한 달만에 얻을 수 있습니다

    string today_string = DateTime.Now.AddMonths(1).ToString("yyyy-MM-dd");
    
    

    "2019-07-27" 와 같은 것을 출력  월과 일에는 항상 두 자리 숫자가 있습니다.

    "yyyy-M-d" 형식  숫자<10에 대해 한 자리 숫자로 월과 일을 생성합니다.

    정적 속성 DateTime.Now  현재 날짜와 시간을 산출합니다. 우리는 또한 DateTime.Date 를 사용할 수 있습니다  시간 부분을 제거하기 위해 그러나 ToString 에서 원하는 형식을 지정하기 때문에 필요하지 않습니다. .

    월 번호에 1을 추가하고 있습니다. 12 월과 마찬가지로 13을 얻게됩니다. 또한 한 달 31 일 (예 : 1 월 31 일)에 결과적으로 2 월 31 일이됩니다. 따라서 .AddMonths(1) 를 사용하여 전체 날짜에 1 개월을 추가하는 것이 좋습니다 . 이 방법은 유효한 날짜를 생성하도록주의를 기울입니다.

  • 답변 # 2

    DateTime.Now 만 사용할 수 있습니까?;

       var today = DateTime.Now;
        var dd = today.Date.Day;
        var mm = today.Month + 1;
        var yyyy = today.Year;
        var yyyy_string = yyyy.ToString();
        var mm_string = mm.ToString();
        var dd_string = dd.ToString();
        if (dd < 10)
        {
            dd_string = '0' + dd_string;
        }
        if (mm < 10)
        {
            mm_string = '0' + mm_string;
        }
        var today_string = yyyy_string + '-' + mm_string + '-' + 
        dd_string;
    
    

관련 자료

  • 이전 c++ - 클래스에서 libxml ++ 사용
  • 다음 이것이 C ++의 lib에 대한 버그입니까?