工作时间跨度但需要分钟00:20:00(HH:mm:ss)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了工作时间跨度但需要分钟00:20:00(HH:mm:ss)相关的知识,希望对你有一定的参考价值。
使用两个按钮来启动和停止每个按钮
start_time = Format(Date.Now, "HH:mm:ss")
要么
stop_time = Format(Date.Now, "HH:mm:ss")
存储时间,并在提交时使用时间跨度来计算差异,就像对待一样
Dim duration As TimeSpan = stop_time - start_time
如果我记录00:59:00分钟,我将如何减去00:20:00?,我猜这将是另一个持续时间减去00:20:00的时间跨度但不确定如何得到00:20:00 in使用它的格式。
干杯,皮特
截至目前,您正在使用字符串来存储DateTime
值。没有理由这样做。
应该使用字符串 - 处理DateTime结构时 - 仅用于演示。
使用TimeSpan执行这些计算。
存储操作的开始时间:
Dim StartTime As TimeSpan = Date.Now.TimeOfDay
存储操作的结束时间:
Dim StopTime As TimeSpan = Date.Now.TimeOfDay
计算持续时间:
Dim Duration As TimeSpan = StopTime - StartTime
可以使用以下命令创建TimeSpan
值:
[TimeSpan] = new TimeSpan([Hours], [Minutes], [Seconds])
或:
[TimeSpan] = TimeSpan.FromSeconds([Seconds]) | TimeSpan.FromMinutes([Minutes]) | .FromHours([Hours])
等
请注意,第一个表单接受Integer
值,而第二个表单接受Double
值:当以分钟为单位插入值时,将#
添加到值(表示该值为Double
类型)并查看会发生什么。
创建一个新的TimeSpan
的20
分钟,并从Duration
值中减去它:
Dim SubSpan As TimeSpan = New TimeSpan(0, 20, 0)
'Or
Dim SubSpan As TimeSpan = TimeSpan.FromMinutes(20.0#)
Duration -= SubSpan
使用TimeSpan.ToString()
方法以人类可读的本地化形式呈现DateTime
/ TimeSpan
值:
TextBox1.Text = Duration.ToString()
或使用特定格式:
TextBox1.Text = duration.ToString("hh:mm:ss")
TextBox1.Text = duration.ToString("hh:mm:ss", CultureInfo.InvariantCulture)
TextBox1.Text = duration.ToString("hh:mm:ss", CultureInfo.CreateSpecificCulture("en-UK"))
正如评论中所指出的那样(以及每天的许多其他问题),在项目属性中设置
Option Strict On
,可能是Option Explicit On
和(它可能非常有用)Option Infer On
将是个好主意。 在声明和使用您的类型时,这将有助于做出正确的决定。
以上是关于工作时间跨度但需要分钟00:20:00(HH:mm:ss)的主要内容,如果未能解决你的问题,请参考以下文章
SimpleDateFormat 12小时制和24小时制的区别
如何在 SQL 中将小时、分钟和秒 (HH:mm:ss) 转换为分钟和秒 (mm:ss)