精易论坛

标题: 求不是00的时间判断 [打印本页]

作者: wh1234567    时间: 2025-2-20 13:01
标题: 求不是00的时间判断
透明标签1.标题内容g格式是: XX:XX:XX【第一组数值是小时,第二组数值是分钟,第三组数值是秒】,例如:03:54:06【代表3小时54分6秒】  或者是00:04:00【代表是4分钟】或者是 00:00:25【代表是25秒钟】 或者是10:00:48【代表是10小时48秒】,请问,如何判断每组数值不是00并加上单位名称?直接输出数值不是00的数值加单位名称。求例子,比如00:23:00就输出23分钟即可。


作者: 企鹅号525150138    时间: 2025-2-20 13:01
  
变量名类 型静态数组备 注
数组文本型0
n整数型 
DWB文本型 
数组 = 分割文本 (“00:23:00”, “:”, )
变量循环首 (取数组成员数 (数组), 1, -1, n)
如果 (数组 [n]“00”)
删除成员 (数组, n, )
数组 [n]到文本 (到整数 (数组 [n])) + 多项选择 (n, “小时”, “分”, “秒”)

变量循环尾 ()
调试输出 (数组_合并 (数组, 字符 (0)))


i支持库列表   支持库注释   
spec特殊功能支持库


作者: aipca    时间: 2025-2-20 13:16
  
子程序名返回值类型公开备 注
__启动窗口_创建完毕  
变量名类 型静态数组备 注
A日期时间型 
A = 到时间 (“20250101”“00:45:00”)
调试输出 (到文本 (取小时 (A)) + “时”到文本 (取分钟 (A)) + “分”到文本 (取秒 (A)) + “秒”)


i支持库列表   支持库注释   
spec特殊功能支持库


直接给它任意补个年份日期,组成一个完整的日期格式

作者: aipca    时间: 2025-2-20 13:30
  
子程序名返回值类型公开备 注
__启动窗口_创建完毕  
变量名类 型静态数组备 注
A日期时间型 
时针文本型 
分针文本型 
秒针文本型 
A = 到时间 (“20250101”“00:10:00”)
时针 = 到文本 (取小时 (A)) + “时”
分针 = 到文本 (取分钟 (A)) + “分”
秒针 = 到文本 (取秒 (A)) + “秒”
判断 (时针 = “0时”)
时针 = “”


判断 (分针 = “0分”)
分针 = “”


判断 (秒针 = “0秒”)
秒针 = “”


调试输出 (时针 + 分针 + 秒针)


i支持库列表   支持库注释   
spec特殊功能支持库


漏了 你不要显示0时分秒

作者: wh1234567    时间: 2025-2-20 13:49
企鹅号525150138 发表于 2025-2-20 13:08
[e=0].版本 2
.支持库 spec

老师技术不错,另外文革问题
第1个同志:00:00:00 95 刘晓
第2个同志:00:00:01 87 高达仁 在后面这里如何加上2次用时多长时间?也就是00:00:01 87-00:00:00 95的时长
作者: 走一回    时间: 2025-2-20 14:00
就是补上时分秒了,先分割,再补上
作者: wh1234567    时间: 2025-2-20 14:05
走一回 发表于 2025-2-20 14:00
就是补上时分秒了,先分割,再补上

哦,每行内容格式是如下这样的:
第1个同志:00:00:00 95 刘晓
第2个同志:00:00:01 87 高达仁   在后面这里如何加上2次用时多长时间?也就是00:00:01 87 - 00:00:00 95的时长,如何计算?
作者: aipca    时间: 2025-2-20 14:16
1秒=1000毫秒
作者: 企鹅号525150138    时间: 2025-2-20 14:39
wh1234567 发表于 2025-2-20 13:49
老师技术不错,另外文革问题
第1个同志:00:00:00 95 刘晓
第2个同志:00:00:01 87 高达仁 在后面这里如 ...

.版本 2
.支持库 spec

.局部变量 z, 正则表达式类, , , '需添加精易模块
.局部变量 j, 整数型
.局部变量 时间1, 长整数型
.局部变量 时间2, 长整数型
.局部变量 间隔, 长整数型
.局部变量 毫秒, 文本型
.局部变量 秒, 文本型
.局部变量 数组, 文本型, , "0"
.局部变量 n, 整数型
.局部变量 a, 文本型

a = “第1个同志:00:00:00 95 刘晓” + #换行符 + “第2个同志:00:00:01 87 高达仁”
z.创建 (“(\d{2}):(\d{2}):(\d{2}) (\d{1,3})”, a)
时间1 = (到整数 (z.取子匹配文本 (1, 1)) × 3600 + 到整数 (z.取子匹配文本 (1, 2)) × 60 + 到整数 (z.取子匹配文本 (1, 3))) × 1000 + 到整数 (z.取子匹配文本 (1, 4))
时间2 = (到整数 (z.取子匹配文本 (2, 1)) × 3600 + 到整数 (z.取子匹配文本 (2, 2)) × 60 + 到整数 (z.取子匹配文本 (2, 3))) × 1000 + 到整数 (z.取子匹配文本 (2, 4))
间隔 = 时间2 - 时间1
毫秒 = 取文本右边 (到文本 (间隔), 3)
秒 = 取文本左边 (到文本 (间隔), 取文本长度 (到文本 (间隔)) - 3)

数组 = 分割文本 (时间_秒到时分秒格式 (到整数 (秒), “h:m:s”, 真) + “:” + 毫秒, “:”, )
.变量循环首 (取数组成员数 (数组), 1, -1, n)
    .如果 (数组 [n] = “00”)
        删除成员 (数组, n, )
    .否则
        数组 [n] = 到文本 (到整数 (数组 [n])) + 多项选择 (n, “小时”, “分”, “秒”, “毫秒”)
    .如果结束

.变量循环尾 ()
调试输出 (a + “ ” + 数组_合并 (数组, 字符 (0)))


作者: 走一回    时间: 2025-2-20 16:08
  
子程序名返回值类型公开备 注
__启动窗口_创建完毕  
变量名类 型静态数组备 注
time文本型 
time2文本型0
temi3文本型0
txt文本型 
i  
tt文本型0
time = “03:54:06,00:04:00,00:00:25,10:00:48”
time2 = 分割文本 (time, “,”, )
计次循环首 (取数组成员数 (time2), i)
temi3 = 分割文本 (time2 [i], “:”, )
如果真 (temi3 [1]“00”)
txt = txt + temi3 [1]“小时”
如果真 (temi3 [2]“00”)
txt = txt + temi3 [2]“分钟”
如果真 (temi3 [3]“00”)
txt = txt + temi3 [3]“秒”
加入成员 (tt, txt)
txt = “”
计次循环尾 ()
调试输出 (tt)


i支持库列表   支持库注释   
spec特殊功能支持库


* 数组:4{“03小时54分钟06秒”,“04分钟”,“25秒”,“10小时48秒”}
被调试易程序运行完毕


作者: wh1234567    时间: 2025-2-20 16:44
企鹅号525150138 发表于 2025-2-20 14:39
.版本 2
.支持库 spec

老师好,发现一个问题,不需要上面那么分割,直接如何计算00:00:01 87 - 00:00:00 95的时长?
作者: wh1234567    时间: 2025-2-20 16:46
aipca 发表于 2025-2-20 14:16
1秒=1000毫秒

如何计算00:00:01 87 - 00:00:00 95的时长?
作者: wh1234567    时间: 2025-2-20 16:46
走一回 发表于 2025-2-20 14:00
就是补上时分秒了,先分割,再补上

如何计算00:00:01 87 - 00:00:00 95的时长?
作者: aipca    时间: 2025-2-20 16:59
00:00:01 87 - 00:00:00 95 =1087毫秒-95毫秒
分别取小时()、取分钟()、取秒() 然后转整数相减,对秒后面直接定义个毫秒单位直接相减




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4