You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

XSLT创建存储当前四位年份变量失败,求问题排查及解决方法

解决XSLT获取当前四位年份的问题

你的代码存在两个关键问题,导致无法正常运行:

  • 函数名拼写错误:current-dayTime()是错误写法,XSLT中获取当前日期时间的正确函数为current-dateTime()(遵循驼峰命名规则)
  • 无效运算逻辑:$currentYear - year里的year是未定义的变量,若仅需获取当前年份,这行代码完全多余

正确实现方式

如果只需要当前日期的年份,直接用current-date()配合year-from-date()函数更简洁可靠(无需处理时间部分):

<xsl:variable name="currentYear" select="year-from-date(current-date())"/>

<!-- 输出四位年份 -->
<xsl:value-of select="$currentYear"/>

若需基于当前日期时间获取年份,修正函数名即可:

<xsl:variable name="currentYear" select="year-from-dateTime(current-dateTime())"/>

<xsl:value-of select="$currentYear"/>

关于你尝试的number(substring(current-date()))的问题

这种写法在部分XSLT版本中需要先将日期类型转为字符串,否则无法直接截取:

<xsl:variable name="currentYear" select="number(substring(string(current-date()), 1, 4))"/>

但这种写法依赖日期的默认字符串格式(YYYY-MM-DD),不如内置的year-from-date()函数规范,兼容性也更差。

内容的提问来源于stack exchange,提问作者sansievar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 08:15:11