c# - 当时间为小数时,如何转换为 DateTime?

标签 c# date datetime

我有一个数据表,具体来说是来自 Sage 100 ERP,它使用两个单独的列来存储更新的日期和时间(DateUpdated 和 TimeUpdated)。我需要将这两个字段中的数据转换为 DateTime 对象以进行比较。日期看起来像“mm/dd/yyyy 12:00 AM”,时间是小数,例如 14.29297。到目前为止,我已经能够将时间转换为分钟,如下所示:

private DateTime GetDateTime(string date, decimal time)
    {
        int hour = int.Parse(Math.Floor(time).ToString());
        decimal minTemp = decimal.Parse((60 * (time - hour)).ToString());
        int min = int.Parse(Math.Round(minTemp).ToString());
        int sec = int.Parse(Math.Round(60 * (minTemp - min)).ToString());

        string datetime = date + " " + hour.ToString() + ":" + min.ToString();

        return DateTime.Parse(datetime);
    }

在将日期字符串传递给此方法之前,我从日期字符串中删除了 12:00AM。这可行,但我失去了非常重要的秒数。

如何将时间转换为小时、分钟和秒?

最佳答案

看起来您可以避免所有额外的处理,只需执行以下操作:

DateTime GetDateTime(string date, decimal time)
{
    return DateTime.Parse(datetime).AddHours((double)time);
}

关于c# - 当时间为小数时,如何转换为 DateTime?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20709819/

相关文章:

java - 如何在末尾没有时区的情况下将日期时间显示为本地时间?

c# - 更改 ComboBox 边框颜色 - SelectedIndex 更改时闪烁

c# - 周期性处理中的膨胀线程问题

c# - "large"滚动时数据集崩溃 Gridview。 Win32错误

r - 使用 dplyr 从起止范围变量按月聚合计数?

mysql - 无法在 MySql 中将 varchar 转换为 datetime

c# - 如何使用 iTextSharp 确定 PDF 文件类型

php - 如何转换Y-m-d H :i:s to Y-m-d in PHP?

java - 2014-02-09T00 :00:00+05:30 my date coming in this string format. 我怎样才能转换成java.util.date对象

python - 与 Pandas 一起绘图时如何消除相对偏移?