0
我有一個格式爲H:mm:ss
的存儲時間值。時間可以是從0到幾天的任何值。這些數據以XML標籤發送並由XSL處理以顯示。我想顯示的格式爲:在XSL中處理一個字符串中的整數
D days, HH:mm:ss (hours/minutes)
其中最後一個標籤顯示時間,如果HH大於0,如果分鐘爲0。
鑑於原HH,這可能是超過24,我知道我需要HH/24的地板才能獲得天價值。然後原來的HH%24給了我剩餘的時間。
我也使用xsl:when
和xsl:if
處理了分鐘和小時問題。
從我被難倒的時間價值中獲得數天和數小時。
編輯 到目前爲止,我期待在執行下列操作:
變量聲明
<xsl:variable name="time"><xsl:value-of select="time" /><xsl:variable>
<xsl:variable name="days"><xsl:value-of select="floor(substring-before(time, ':')/24)" /></xsl:variable>
<xsl:variable name="hours"><xsl:value-of select="substring-before(time, ':') mod 24" /></xsl:variable>
<xsl:variable name="minutes"><xsl:value-of select="substring-after(time, ':')" /></xsl:variable>
使用
<xsl:if test="$days > 0">
<xsl:value-of select="$days" /> days
</xsl:if>
<xsl:value-of select="$hours" />:<xsl:value-of select="$minutes" />
<xsl:choose>
<xsl:when test="$hours > 0">
hour<xsl:if test="$hours > 1">s</xsl:if>
</xsl:when>
<xsl:otherwise>
minute<xsl:if test="$minute != '01:00'">s</xsl:if>
</xsl:otherwise>
</xsl:choose>
而且澄清,採樣時間會<time>26:15:00</time>
1天2點15分。
什麼是實際問題?你有一段代碼描述了你目前正在做的事情嗎? – IAbstract 2010-05-03 17:11:50
@ dboarman-FissureStudios - 我已經更新了一段代碼,希望能更清楚地說明我的問題。我需要做的是弄清楚如何在幾小時,幾分鐘和幾秒鐘內獲得格式化的日子,並將其操作爲一個漂亮的字符串。 – justkt 2010-05-03 17:19:02