다음 문자열이 "2017-2"
이고 "2017-02"
으로 서식을 지정해야합니다.숫자와 문자를 포함하는 문자열의 서식을 지정하는 방법
var period = "2017-2";
var periodFormatted = String.Format("{0:0000-00}", period);
periodFormatted는
"2017-02"
로 포맷 기간을 얻을 수있는 올바른 구문은 무엇입니까 "2017-2"
을 반환?
다음 문자열이 "2017-2"
이고 "2017-02"
으로 서식을 지정해야합니다.숫자와 문자를 포함하는 문자열의 서식을 지정하는 방법
var period = "2017-2";
var periodFormatted = String.Format("{0:0000-00}", period);
periodFormatted는
"2017-02"
로 포맷 기간을 얻을 수있는 올바른 구문은 무엇입니까 "2017-2"
을 반환?
string.Format
은 문자열에 숫자가 포함되어 있다는 것을 알지 못하므로 (또는주의) 직접 서식을 지정할 수 없습니다. 당신은 문자열을 나눌 수 있고 마지막 부분을 숫자로 해석 할 수 있습니다. 예를 들어 :
var period = "2017-2";
var parts = period.Split('-');;
var periodFormatted = $"{parts[0]}-{int.Parse(parts[1]):D2}";
그러나, 당신은 아마 포맷이 사소한 만들었을 것입니다 적절한 DateTime
객체 (또는 연도와 월 값을 나타내는 사용자 정의 유형) 처음에를로 period
값을 가져야한다.
을 DateTime
으로 구문 분석하고 두 번째 단계에서 형식을 지정할 수 있습니다.
string period = "2017-2";
DateTime temp = DateTime.ParseExact(period, "yyyy-M", CultureInfo.InvariantCulture);
string result = temp.ToString("yyyy-MM");
참고 : M
이 0
을 선도하지 않고 월을 정의하고 MM
항상 2 자리의 달입니다.
참조 :`지정된 형식에 따라 스트링 객체의 값을 변환하고 다른 string.`에 삽입 : 문자열에 및 String.format를 호출 https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings
는 meaningless.The 방법의 설명입니다. 당신이 가지고있는 것은 마침표가 아니며 누군가가 마침표로 해석 할 수도 있고 그렇지 않을 수도있는 문자열 일뿐입니다. –
DateTime의 인스턴스를 사용하지 않는 이유는 무엇입니까? 거기에 마침표를로드하면'dateTimeInstance.ToString ("your format")'(yyyy-MM 경우) – Dragonvil
을 사용할 수 있습니다 * 마침표 *를 나타내려면 구조체 나 튜플과 같은 고유 한 형식을 만듭니다 년과 월을 포함합니다. DateTime을 사용하고 일 부분을 무시할 수도 있습니다. –