문제

XSLT 파일에서 두 날짜 사이에 달 수를 얻으려고합니다.

<xsl:variable name="now" select="umbraco.library:CurrentDate()"/>
<xsl:value-of select="umbraco.library:DateDiff('2010-12-01', $now, 'm')" />

불행히도, 이것은 나에게 몇 달이 아닌 두 날짜 사이에 몇 분의 시간을 제공하는 것 같습니다. 몇 달 동안 세 번째 매개 변수로 입력 할 문자열을 찾을 수 없습니다. 어딘가에 대한 참조가 있습니까? 또는 달의 수는 어떻게 찾습니까?

도움이 되었습니까?

해결책

Datediffifle 메소드는 몇 개월을 지원하지 않습니다.

그것은 몇 년, 몇 분 또는 초만 지원합니다.

달의 차이를 계산하려면 일부 수학 저글링을 수행하거나 인라인 C# 메소드를 사용하거나 자신의 XSLT 확장 방법을 작성해야합니다.

인라인 C#에 대한 자세한 정보

He Main Umbraco 사이트의 여러 비디오 자습서를 포함하여 XSLT 확장 방법을 작성하기위한 많은 자습서가 있습니다.

XSLT Exensions에 대한 자세한 정보

XSLT 확장에 대한 Umbraco 비디오

다른 팁

나는 Tim이 제안한 것처럼 내 자신의 기능을 작성하게되었습니다.

public static int MonthDiff(string date1, string date2)
{
    DateTime dt1 = DateTime.Parse(date1);
    DateTime dt2 = DateTime.Parse(date2);

    return ((dt2.Year - dt1.Year) * 12) + (dt2.Month - dt1.Month);
}

나는 그것이 더 잘 일반화 될 수 있다고 확신하지만, 이것은 나에게 충분했다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top