- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个名为“DateSet”的字符串,其值为“16/10/2008”。我想为该值增加 5 个工作日。我假设我必须将值转换为某个值,以便它知道这是一个日期。
我正在使用 xslt 1.0,并使用自定义软件将 xslt 转换为 Word 文档。
现在它显示:
<w:p>
<w:r>
<w:t>Some text [DateSet]</w:t>
</w:r>
</w:p>
<w:p>
<w:r>
<w:t>Some text [DateSet+5business days]</w:t>
</w:r>
</w:p>
最佳答案
根据您的描述,听起来好像您已将日期字符串从上下文中分离出来,以便您可以使用它并将其替换为新日期。好的。如果这不是真的,那么你的第一个问题就是让它成为真的。
扩展函数 ms:format-date() 或许可以帮到你,不过看一眼 its documentation我不明白怎么办
给定一个日期,我认为在 XSLT 1.0 中执行您需要的日期算术的最简单方法是:
<xsl:template name="jday">
<!--* JDay: convert a triple of integers representing
* Gregorian year, month, and day numbers to the
* number of the Julian day beginning at noon on that
* date.
* Transcribed from Robert G. Tantzen, "Algorithm
* 199: Conversions between calendar date and Julian
* day number" CACM 6.8 (Aug 1963): 444.
*-->
<xsl:param name="year" select="1963"/>
<xsl:param name="month" select="08"/>
<xsl:param name="day" select="13"/>
<xsl:variable name="y">
<xsl:choose>
<xsl:when test="$month > 2">
<xsl:value-of select="$year"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$year - 1"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="m">
<xsl:choose>
<xsl:when test="$month > 2">
<xsl:value-of select="$month - 3"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$month + 9"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="d" select="$day"/>
<xsl:variable name="c" select="floor($y div 100)"/>
<xsl:variable name="ya" select="$y - 100 * $c"/>
<!--* H holds the offset between Julian day 0
* and the beginning of the common era.
*-->
<xsl:variable name="H" select="1721119"/>
<!--* Calculate the Julian day that begins on the
* given date.
*-->
<xsl:value-of select="floor(($c * 146097) div 4)
+ floor(($ya * 1461) div 4)
+ floor((($m * 153) + 2) div 5)
+ $d
+ $H"/>
</xsl:template>
<xsl:choose>
<xsl:when test="$j mod 7 = 5">
<xsl:value-of select="$j + 6"/>
</xsl:when>
<xsl:when test="$j mod 7 = 6">
<xsl:value-of select="$j + 5"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$j + 7"/>
</xsl:otherwise>
</xsl:choose>
<xsl:template name="jdate">
<!--* JDate: given a Julian day number, return an ISO
* 8601 date.
* Transcribed from Robert G. Tantzen, "Algorithm
* 199: Conversions between calendar date and Julian
* day number" CACM 6.8 (Aug 1963): 444.
*-->
<xsl:param name="j" select="2438255"/>
<!--* dce: days in the common era (i.e. since
* 0000-03-01; Tantzen uses 1 Mar, not 1 Jan,
* as his epoch to simplify calculations). *-->
<xsl:variable name="dce" select="$j - 1721119"/>
<!--* cce: full centuries in the common era. *-->
<xsl:variable name="cce"
select="floor((4 * $dce - 1) div 146097)"/>
<!--* dcc4: days in current century, times 4. *-->
<xsl:variable name="dcc4"
select="(4 * $dce - 1) - (146097 * $cce)"/>
<!--* dcc: days in current century. *-->
<xsl:variable name="dcc4"
select="floor($dcc4 div 4)"/>
<!--* ycc: years in current century. *-->
<xsl:variable name="ycc"
select="floor((4 * $dcc + 3) div 1461)"/>
<!--* dcy4: days in current year, times 4. *-->
<xsl:variable name="dcy4"
select="(4 * $dcc + 3) - (1461 * $ycc)"/>
<!--* dcy: days in current year. *-->
<xsl:variable name="dcy"
select="floor(($dcy4 + 4) div 4)"/>
<!--* rgtm: RGT month number (0 Mar, 1 Apr ... 12 Feb). *-->
<xsl:variable name="rgtm"
select="floor((5 * $dcy - 3) div 153)"/>
<!--* dcm5: days in current month (minus 1) times 5. *-->
<xsl:variable name="dcm5"
select="5 * $dcy - 3 - 153 * $rgtm"/>
<!--* d: day number in current month. *-->
<xsl:variable name="d"
select="floor(($dcm5 + 5) div 5)"/>
<!--* rgty: RGT year number. *-->
<xsl:variable name="rgty"
select="100 * $cce + $ycc"/>
<!--* y: Gregorian year number. *-->
<xsl:variable name="y">
<xsl:choose>
<xsl:when test="$rgtm < 10">
<xsl:value-of select="$rgty"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$rgty + 1"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<!--* m: Gregorian month number. *-->
<xsl:variable name="m">
<xsl:choose>
<xsl:when test="$rgtm < 10">
<xsl:value-of select="$rgtm + 3"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$rgtm - 9"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<!--* Return value in ISO 8601 format *-->
<xsl:value-of select="concat(
format-number($y,'0000'),
'-',
format-number($m,'00'),
'-',
format-number($d,'00')
)"/>
</xsl:template>
关于xslt - 如何将 5 个工作日添加到现有值 xslt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18306380/
我正在尝试创建一个脚本,该脚本在设定的时间段(上个月的 23 日和本月的 23 日)内获取工作日、日历日和工作日的计数。 我有以下脚本,我尝试使用 Worksheet Functions 但它不起作用
如何将 xts 对象子集以仅包含工作日(周一至周五,周六和周日除外)? 最佳答案 这是我要做的: library(xts) data(sample_matrix) sample.xts <- as.x
我一直在尝试计算在特定工作日内创建了多少个值没有成功: SELECT count(*) as count FROM packets WHERE strftime("%w", timeIn) = '1'
我正在编写一个脚本,它只在周一至周五上午 8 点至下午 5 点期间运行。问题是在它脱离 8-5 或 M-F while() 循环之后,它只是......不知道如何回到循环中。这让我觉得我可能以错误的角
我想得到上一季度的最后一个工作日(工作日),比如 2019.03.31 是星期天,所以我的要求是得到 2019.03.29 的输出。 我写了下面的代码,它工作得很好但看起来不整洁,在我看来 kdb 有
我想知道我在这个网格中选择日期时的工作日。我尝试了有效的 JavaScript 代码,但在 C# 中使用它时遇到了一些困难。 string startdate, enddate;
如标题所示,我正在为我的应用程序寻找解决方案,包括在工作日添加开放和关闭时间。 图像我的应用程序: View list days of the week View after selecting th
SELECT * FROM (`users`) JOIN `artistprofiles` AS art ON `art`.`user_id` = `users`.`id` WHE
我需要将这个函数翻译成swift。基本上它得到了本周的“n”日是什么。因此,例如,如果我将它与 NSDate().getWeekDay(0) 一起使用,它会给我 9 月 11 日星期日,依此类推。但似
我是工作日 SOAP API 的新手,我正在尝试弄清楚如何发送 SOAP 请求以使用 SOAPUI 进行身份验证。 任何建议将不胜感激。 最佳答案 Workday API 使用 WS-Security
我面临以下问题:我必须将当前日期与给定工作日和时间的特定时间点进行比较,如下所示: const myObj = { "weekday": "Tuesday", "timeOfDay": "10
我之前已经发布过相关内容,这有助于我获得以下 SQL: SELECT fname, MONTH( eventDate ) , IF( WEEKDAY( eventDate ) = 5,1,0)) A
尝试使用 moment.js 获得第二个星期四(例如)。本周四不。下一个。 2 个星期四内的日期。 我已经尝试过 moment().add(1, 'week').day(4) 仅获取下周的星期四(仅当
现在是 2017 年 10 月 8 日,星期日。 var weekday = Calendar(identifier: .iso8601).component(.weekday, from: Date
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 6 年前。 Improve this qu
我们使用以下规则来标记延迟 2 天或更长时间的工作项: Changed Date , > , = , [Field], >[Field], =[Field], <=[Field], In, No
我有平日 jQuery UI 选项卡,如下所示,我想在当前工作日打开它们: Monday Tuesday Wednesday Thursday Friday
我想找到一周中某一天到一周中另一天的相对距离。假设以下 R 输入是从第 0 天开始的相对差异(以天为单位): day pmin( day %% 7, rev(day)%%7) [1] 0 1 2
我一直在寻找下个月第一,第二,第三或第四工作日(工作日)的日期。 我有以下代码: NSTimeInterval *lastDue; // unix time stamp from last due d
有一个 pandas 数据框 df,为了从日期列中获取工作日,我做了: df_raw['DayOfWeek'] = df_raw[str_date_colname].dt.strftime('%w')
我是一名优秀的程序员,十分优秀!