Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在XSLT 2.0中使用日期/时间戳计算持续时间?

在XSLT 2.0中使用日期/时间戳计算持续时间?
EN

Stack Overflow用户
提问于 2014-07-31 02:16:07
回答 2查看 1.8K关注 0票数 1

我使用的是XSLT 2.0,并且正在尝试计算WS-Trust消息中的,其中有和元素,因此我需要确定两个日期/时间戳之间的天数,例如:

2014-06-28T03:00:12Z和2014-06-26T13:00:02Z

我试过使用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<xsl:sequence select="fn:days-from-duration(xs:dateTime('2014-06-26T13:00:02Z')-xs:dateTime('2014-06-27T13:00:02Z'))"/>

但是上面给我的结果是"-1",也就是一个整数。

如果我可以得到小时或分钟的持续时间,我可能会计算小数天,但我尝试使用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<xsl:sequence select="fn:hours-from-duration(xs:dateTime('2014-06-26T13:00:02Z')-xs:dateTime('2014-06-27T13:00:02Z'))"/>

或者:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<xsl:sequence select="fn:minutes-from-duration(xs:dateTime('2014-06-26T13:00:02Z')-xs:dateTime('2014-06-27T13:00:02Z'))"/>

这两个都给了我"0“。

谁能告诉我如何计算以小时或分钟为单位的持续时间?

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2014-07-31 04:18:14

days-from-duration()hours-from-duration()minutes-from-duration()extraction函数:每个函数都从持续时间中提取单个组件。在您的示例中,您将分别获得-1、0和0,因为您的两个dateTimes之间的持续时间是-1天0小时0分钟。

如果你想用小数天来计算持续时间,可以试试:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<xsl:variable name="duration" select="xs:dateTime('2014-06-27T12:36:00Z')-xs:dateTime('2014-06-26T00:00:00Z')" />

<xsl:value-of select="days-from-duration($duration) + hours-from-duration($duration) div 24 + minutes-from-duration($duration) div 1440"/>

这将返回1.525,表示P1DT12H36M的持续时间(1天12小时36分钟)。

票数 1
EN

Stack Overflow用户

发布于 2014-07-31 20:42:38

减去两个双精度值得到一个双精度值,然后将其除以xs:dayTimeDuration('P1D') (使用div运算符),得到xs: dateTime形式的天数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25049795

复制
相关文章
js时间戳转换日期格式和日期计算
一、时间戳转换日期 1 function formatDate(datetime) { 2 // 获取年月日时分秒值 slice(-2)过滤掉大于10日期前面的0 3 var year = datetime.getFullYear(), 4 month = ("0" + (datetime.getMonth() + 1)).slice(-2), 5 date = ("0" + datetime.getDate()).
半指温柔乐
2018/09/11
29.2K0
时间戳--》标准日期
在excel中将13位毫秒级别的时间戳转换为标准的日期格式(yyyy-mm-dd hh:mm:ss.000),使用如下模板
翎野君
2023/05/26
1.6K0
时间戳--》标准日期
按持续时间偏移的日期时间
可以添加一个日期 x时间和一个持续时间来计算一个新的日期时间,它与线性时间轴上的距离正好是 的大小。在这里,datetime代表, , , or 中的任何一个,并且非空结果将是相同的类型。可以按如下方式计算日期时间偏移的持续时间:yx + yxyDateDateTimeDateTimeZoneTime
冬夜先生
2022/01/05
2.7K0
Android 获取时间戳 和时间戳转日期
获取系统时间戳 public String getTime(){ long time=System.currentTimeMillis()/1000;//获取系统时间的10位的时间戳 String str=String.valueOf(time); return str; } 、获取系统时间 long currentTime = System.currentTimeMillis(); SimpleDateFormat formatter = new SimpleDateForma
程思扬
2022/01/10
6.9K0
linux 日期转换时间戳_将时间戳转为时间
最近项目上需要用到时间戳,查找了资源终于找到了实现方式,最后时间戳还需要转换成具体的日期格式,查阅了一些资料,还是没有找到具体的实现方式,所以这里总结一些,防止其他小伙伴就掉坑,实现是在freeRTOS系统上的,当前我在linux下尝试实现以下。
全栈程序员站长
2022/11/10
10.5K0
linux 日期转换时间戳_将时间戳转为时间
MySQL时间戳转日期
FROM_UNIXTIME(unix_timestamp,format) 返回表示 Unix 时间标记的一个字符串,根据format字符串格式化。format可以包含与DATE_FORMAT()函数列出的条目同样的修饰符。下列修饰符可以被用在format字符串中: %M 月名字(January……December) %W 星期名字(Sunday……Saturday) %D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。) %Y 年, 数字, 4 位 %y 年, 数字, 2 位 %a 缩写的星期名字(Sun……Sat) %d 月份中的天数, 数字(00……31) %e 月份中的天数, 数字(0……31) %m 月, 数字(01……12) %c 月, 数字(1……12) %b 缩写的月份名字(Jan……Dec) %j 一年中的天数(001……366) %H 小时(00……23) %k 小时(0……23) %h 小时(01……12) %I 小时(01……12) %l 小时(1……12) %i 分钟, 数字(00……59) %r 时间,12 小时(hh:mm:ss [AP]M) %T 时间,24 小时(hh:mm:ss) %S 秒(00……59) %s 秒(00……59) %p AM或PM %w 一个星期中的天数(0=Sunday ……6=Saturday ) %U 星期(0……52), 这里星期天是星期的第一天 %u 星期(0……52), 这里星期一是星期的第一天 %% 一个文字“%”。
全栈程序员站长
2022/06/24
5.7K0
linux 日期转换时间戳_oracle日期转13位时间戳
4. 指定日期格式转换:date -d @1614592163 +”%Y-%m-%d %H:%M:%S”
全栈程序员站长
2022/11/11
6.3K0
Python时间,日期,时间戳之间转换
1.将字符串的时间转换为时间戳    方法:        a = "2013-10-10 23:40:00"        将其转换为时间数组        import time        timeArray = time.strptime(a, "%Y-%m-%d %H:%M:%S")    转换为时间戳:    timeStamp = int(time.mktime(timeArray))    timeStamp == 1381419600 2.字符串格式更改    如a = "2013-10-10 23:40:00",想改为 a = "2013/10/10 23:40:00"    方法:先转换为时间数组,然后转换为其他格式    timeArray = time.strptime(a, "%Y-%m-%d %H:%M:%S")    otherStyleTime = time.strftime("%Y/%m/%d %H:%M:%S", timeArray) 3.时间戳转换为指定格式日期:    方法一:        利用localtime()转换为时间数组,然后格式化为需要的格式,如        timeStamp = 1381419600        timeArray = time.localtime(timeStamp)        otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)        otherStyletime == "2013-10-10 23:40:00"    方法二:        import datetime        timeStamp = 1381419600        dateArray = datetime.datetime.utcfromtimestamp(timeStamp)        otherStyleTime = dateArray.strftime("%Y-%m-%d %H:%M:%S")        otherStyletime == "2013-10-10 23:40:00" 4.获取当前时间并转换为指定日期格式    方法一:        import time        获得当前时间时间戳        now = int(time.time())  ->这是时间戳        转换为其他日期格式,如:"%Y-%m-%d %H:%M:%S"        timeArray = time.localtime(timeStamp)        otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)    方法二:        import datetime        获得当前时间        now = datetime.datetime.now()  ->这是时间数组格式        转换为指定的格式:        otherStyleTime = now.strftime("%Y-%m-%d %H:%M:%S") 5.获得三天前的时间    方法:        import time        import datetime        先获得时间数组格式的日期        threeDayAgo = (datetime.datetime.now() - datetime.timedelta(days = 3))        转换为时间戳:            timeStamp = int(time.mktime(threeDayAgo.timetuple()))        转换为其他字符串格式:            otherStyleTime = threeDayAgo.strftime("%Y-%m-%d %H:%M:%S")    注:timedelta()的参数有:days,hours,seconds,microseconds 6.给定时间戳,计算该时间的几天前时间:    timeStamp = 1381419600    先转换为datetime    import datetime    import time    dateArray = datetime.datetime.utcfromtimestamp(timeStamp)    threeDayAgo = dateArray - datetime.timedelta(days = 3)    参考5,可以转换为其他的任意格式了
py3study
2020/01/08
2.5K0
MySQL日期时间戳转换
1中的now()函数,返回当前时间的长日期,和2018-05-08 08:26:30格式相同
全栈程序员站长
2022/06/24
4.2K0
python 时间、日期、时间戳的转换
在实际开发中经常遇到时间格式的转换,例如: 前端传递的时间格式是字符串格式,我们需要将其转换为时间戳,或者前台传递的时间格式和我们数据库中的格式不对应,我们需要对其进行转换才能与数据库的时间进行匹配等。
py3study
2020/01/16
19.3K0
MySQL时间戳与日期时间转换
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/151927.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/10
7.9K0
linux时间戳转换日期格式_shell脚本获取时间戳
time_t date_to_timestamp(char *date, char *pfmt)
全栈程序员站长
2022/11/10
8.5K0
Matlab-绘制日期和持续时间图
以 x 轴为日期时间值来创建线图。然后,更改刻度标签的格式以及 x 坐标轴范围。创建 t 作为日期序列,创建 y 作为随机数据。使用 plot 函数绘制向量图。
用户9925864
2022/07/27
2.7K0
Matlab-绘制日期和持续时间图
JavaScript 日期和时间戳转换
<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> </head> <body> <div id="times">这是内容</div> </body> <script> var this_time='2021-09-01 00:00:00'; var this_stamp = new Date(this_time); var last_stamp = this_stamp.getTime()-8
黄啊码
2021/09/26
2K0
python时间戳与日期互转
因为总是会有这个需求,每次用的时候都是上网上现查,觉得很费事,不如封装成自己的函数放到工具库里。
the5fire
2019/02/28
8580
jquery 时间戳转换为日期
1.转换为年月日 new Date(data.createDate).toLocaleDateString()//将json中的时间戳转换为年月日 2.精确到秒 function getMyDate
用户5899361
2020/12/07
4.2K0
sql中时间戳转日期
需求: 我将博客和 typecho 后台结合起来,打算做一个在线说说的功能,在 typecho 中输入内容,然后调用接口,实现在我的博客查看说说功能的功能。是不是有点绕?我也这么觉得,但是折腾一下也挺好的。
子舒
2022/06/09
4.3K0
sql中时间戳转日期
[javascript] 获取当前时间日期和时间戳
很常见的需求 两个函数 //js获取当前时间 function getNowDate() { var myDate = new Date; var year = myDate.getFullYear(); //获取当前年 var mon = myDate.getMonth() + 1; //获取当前月 var date = myDate.getDate(); //获取当前日 var hours = myDate.getHours(); //获取当前小时 var
唯一Chat
2021/12/24
3.3K0
mysql时间戳转为日期格式_mysql时间戳与日期格式的相互转换
Select UNIX_TIMESTAMP(‘2006-11-04 12:23:00’);
全栈程序员站长
2022/06/24
17.6K0
c++时间戳转换日期格式_java时间戳转换成时间
因工作需要,经常跟时间戳打交道,但是因为它仅仅是一个数字,我们很难直接看出它有什么意义,或两个时间戳之间究竟差了多长的间隔。于是从MSDN for Visual Studio6上找到了时间戳转换成日期时间的算法。本文除介绍这一算法外,还提供一个示例代码。
全栈程序员站长
2022/09/27
6.1K0

相似问题

使用UNIX时间戳计算时间戳持续时间

12

时间戳转换到日期、时间和持续时间计算

12

使用时间戳计算总持续时间

21

计算日期持续时间

10

计算两个日期时间戳之间的持续时间- Server

112
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文