XSLTファイルで日付/時刻の降順でソートしようとしていますが、ほとんどの場合これを達成できましたが、時刻の部分は少しトリッキーです. 実際の「時間」ではなく「番号」でソートしています。たとえば、私の出力は次のとおりです。
2013 年 3 月 2 日 午前 10 時 5 分
2013/3/2 16:28
2013 年 2 月 28 日午後 5 時 3 分
通常、降順は、その日付で 10 が 4 より前になることを意味しますが、時間になると、そうではありません。どのように私が達成できるかについての提案:
2013/3/2 16:28
2013 年 3 月 2 日 午前 10 時 5 分
2013 年 2 月 28 日午後 5 時 3 分
これが私が使用したソートです:
<xsl:sort select="substring-before(substring-after(substring-after(NoteEnteredOn, '/'), '/'), ' ')" /> <!-- year -->
<xsl:sort select="substring(normalize-space(NoteEnteredOn),1,2)"/> <!-- month -->
<xsl:sort select ="substring-after(substring-after(normalize-space(NoteEnteredOn), ' '),' ')"/> <!-- AM / PM-->
<xsl:sort select="substring-before(substring-after(substring-after(NoteEnteredOn, ' '),' '),':')" /> <!--Hour-->
<xsl:sort select="substring-before(substring-after(normalize-space(NoteEnteredOn), ':'), ' ')"/> <!--Minute-->
<xsl:sort select="substring-before(substring-after(NoteEnteredOn, '/'), '/')" /> <!-- Day -->