标题:请教如何时间排序,取得最早时间和最晚时间?
取消只看楼主
ictest
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:325
专家分:114
注 册:2010-2-17
结帖率:69.81%
已结贴  问题点数:20 回复次数:2 
请教如何时间排序,取得最早时间和最晚时间?
有四个字符串:
a = "10:18 11:49 13:37 15:09 19:48 "
b = "08:29 18:19 18:20 18:23 "
c = "08:39 08:41 07:21 08:30 08:20 19:47 08:47 "
d = "14:48 16:07 15:48 19:20 14:10 00:00 "

请教如何用通用的、最少的语句(不用数据库)把每一个字符串里的时间排序,并且得到最早和最晚时间?

输出:

a---min:10:18---max:19:48
b---min:08:29---max:18:23
c---min:07:21---max:19:47
d---min:14:10---max:00:00
搜索更多相关主题的帖子: 时间 输出 排序 字符串 数据库 
2023-05-14 10:24
ictest
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:325
专家分:114
注 册:2010-2-17
得分:0 
以下是引用风吹过b在2023-5-14 13:04:14的发言:

用控件吧。
listbox 支持排序,
写一个子函数来调用吧
还有一个最后一个是怎么回事?  00:00 ,不是最小吗??

Option Explicit

'窗体上放一个 listbox1 ,sotred 属性设为了 true
Private Type jg
    a As Variant
    b As Variant
End Type

Private Sub Command1_Click()
Dim j As jg
Dim a, b, c, d
a = "10:18 11:49 13:37 15:09 19:48 "
b = "08:29 18:19 18:20 18:23 "
c = "08:39 08:41 07:21 08:30 08:20 19:47 08:47 "
d = "14:48 16:07 15:48 19:20 14:10 00:00 "

j = minmax(a)
Print j.a, j.b
j = minmax(b)
Print j.a, j.b
j = minmax(c)
Print j.a, j.b
j = minmax(d)
Print j.a, j.b

End Sub

Private Function minmax(s As Variant) As jg
Dim f() As String
Dim i As Long
f = Split(s, " ")
List1.Clear
For i = 0 To UBound(f)
    If Len(f(i)) > 0 Then
        List1.AddItem f(i)
    End If
Next i
minmax.a = List1.List(0)
minmax.b = List1.List(List1.ListCount - 1)
End Function



回复一下前辈:可以理解为班次,假设这个人今天上中班,班次时间标准为15:00——00:00,这个人上班到00:00班次结束,就算他加班到凌晨01:00,也算是前一天上班的最后时间。
2023-05-14 13:32
ictest
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:325
专家分:114
注 册:2010-2-17
得分:0 
回复 5楼 cwa9958
c = "08:39 08:41 07:21 08:30 08:20 19:47 08:47 "
没有排序过,只提取第一个时间和最后一个时间不对。谢谢。
2023-05-16 23:52



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-512195-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.065946 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved