gpt4 book ai didi

c# - 转换错误 - 将字符串转换为时间

转载 作者:太空宇宙 更新时间:2023-11-03 19:25:31 25 4
gpt4 key购买 nike

在我的应用程序中,我有一个数据网格,其中填充了来自 SQLserver 数据库的信息。除其他外,填充网格的数据包括时间。现在我挣扎了一段时间从数据库中获取数据以按照我想要的方式查看。最后,我的 sql 命令包括以下内容:-

LEFT(CONVERT(VARCHAR(8), te.StartTime, 8), 5) AS [Start Time], 
LEFT(CONVERT(VARCHAR(8), te.FinishTime, 8), 5) AS [Finish Time]

它很好地以 8:00 和 10:00 等格式显示时间。但是,当我需要使用数据网格中的信息来计算两次之间的差异时,这会在我的应用程序中引起问题。这是因为(我相信)我的 SQL 命令(上面)已将时间转换为字符串。因此,当我尝试以下操作时:

DateTime startTime = (DateTime)varValue;
DateTime endTime = (DateTime)varFinish;

我收到错误消息“无效转换”。所以我面临着将这些字符串转换回 DateTime 以便对它们执行任何计算。我不能简单地将原始时间字段添加到 SQL 命令,因为有时网格中的时间将是用户输入的新时间,所以无论如何这些都是字符串。

我应该如何最好地转换用户输入,例如“8:00”到日期时间 - 这样我就可以执行诸如计算两次之间的差异之类的功能。或者,我是否应该以不同的方式处理整个时间表问题。

任何建议将不胜感激。正如您可能已经猜到的那样,我是 C# 的新手。

最佳答案

你试过吗?

DateTime tmp = DateTime.Now;
DateTime startTime = DateTime.Parse(varValue + " " + tmp.ToShortDateString());
DateTime endTime = DateTime.Parse(varFinish + " " + tmp.ToShortDateString());

认为这可以解决您的问题?您现在在两个参数中获得了给定时间的当前日期

关于c# - 转换错误 - 将字符串转换为时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9017989/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com