Vba VisualStudio:如何从两个DateTimePicker获取天数和小时数

Vba VisualStudio:如何从两个DateTimePicker获取天数和小时数,vba,visual-studio,visual-studio-2010,visual-studio-2012,Vba,Visual Studio,Visual Studio 2010,Visual Studio 2012,我需要你的帮助,我不知道该怎么办 我有两个日期时间选择器: DateTimePicker1=返回日期的 日期时间选择器2-返回时间 我想获得当前日期和时间与这两个日期时间选择器的差值,以获得天数和小时数 我不太清楚你想达到什么目的。不过,您可以执行下面描述的操作 static void Main(string[] args) { DateTime dpt1 = new DateTime(2019, 02, 15); DateTime dpt2 =

我需要你的帮助,我不知道该怎么办

我有两个日期时间选择器:

DateTimePicker1=返回日期的

日期时间选择器2-返回时间


我想获得当前日期和时间与这两个日期时间选择器的差值,以获得天数和小时数

我不太清楚你想达到什么目的。不过,您可以执行下面描述的操作

    static void Main(string[] args)
    {
        DateTime dpt1 = new DateTime(2019, 02, 15);
        DateTime dpt2 = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 10, 30, 45);

        DateTime combined = new DateTime(dpt1.Year, dpt1.Month, dpt1.Day, dpt2.Hour, dpt2.Minute, dpt2.Second);
        var diff = new DateTime(DateTime.Now.Ticks - combined.Ticks);
        var hours = diff.Hour;
    }
不过,我发现你的问题。“我想要从当前日期和时间到这两个日期时间选择器的差异,以便我可以获得总天数和小时数。”不幸的是,您将无法提取日期差异,因为在dpt2中,您仅被选中时/分/秒。月/日/年字段在计算中基本上是无用和不可用的

如果您想具体获得时间跨度差异,可以使用

TimeSpan.FromTicks(DateTime.Now.Ticks - combined.Ticks);

我不太清楚你想达到什么目的。不过,您可以执行下面描述的操作

    static void Main(string[] args)
    {
        DateTime dpt1 = new DateTime(2019, 02, 15);
        DateTime dpt2 = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 10, 30, 45);

        DateTime combined = new DateTime(dpt1.Year, dpt1.Month, dpt1.Day, dpt2.Hour, dpt2.Minute, dpt2.Second);
        var diff = new DateTime(DateTime.Now.Ticks - combined.Ticks);
        var hours = diff.Hour;
    }
不过,我发现你的问题。“我想要从当前日期和时间到这两个日期时间选择器的差异,以便我可以获得总天数和小时数。”不幸的是,您将无法提取日期差异,因为在dpt2中,您仅被选中时/分/秒。月/日/年字段在计算中基本上是无用和不可用的

如果您想具体获得时间跨度差异,可以使用

TimeSpan.FromTicks(DateTime.Now.Ticks - combined.Ticks);

将合并为日期=日期时间选择器1.值。日期+日期时间选择器2.值。日期时间

Dim currentDate As Date=日期。现在()


将时间差调整为TimeSpan=combine-currentDate

将时间差调整为Date=DateTimePicker1.值。Date+DateTimePicker2.值。TimeOfDay

Dim currentDate As Date=日期。现在()


Dim时差为TimeSpan=combine-currentDate

var diff=dtp1.Value.ToTimeOfDay-dtp2.Value.ToTimeOfDay Visual Studio与此问题无关。您使用的是哪个堆栈?WPF?Winforms?ASP.NET?它们都有一个名为DateTimePicker的控件。在所有情况下,虽然值都是通过
属性检索的,而不是通过
文本
检索的。这是一个没有格式的
DateTime
值。在使用Visual Studio时,DateTimePicker1设置为仅获取日期,DateTimePicker2设置为获取时间。var diff=dtp1.Value.ToTimeOfDay-dtp2.Value.ToTimeOfDay Visual Studio与此问题无关。您使用的是哪个堆栈?WPF?Winforms?ASP.NET?它们都有一个名为DateTimePicker的控件。在所有情况下,虽然值都是通过
属性检索的,而不是通过
文本
检索的。该
是一个没有格式的
日期时间
值。我正在使用Visual Studio,DateTimePicker1设置为仅获取日期,DateTimePicker2设置为获取时间。dpt2.Hour、dpt2.Minute、dpt2.Second不起作用,给我一个无法转换为int的错误。还需要帮助吗?我粘贴的代码在新的控制台应用程序中编译并运行良好。您可以使用-运算符减去2个日期时间,结果将是一个时间跨度。dpt2.Hour,dpt2.Minute,dpt2.Second不起作用,给我一个无法转换为int的错误。还需要任何帮助吗?我粘贴的代码在新的控制台应用程序中编译并运行良好。您可以使用-运算符减去2个日期时间,结果将是时间跨度。