欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  技术分享

详解.NET Framework DateTime_C#时间使用(C# DateTime Demo)

程序员文章站 2022-03-01 16:02:44
...

简介

本文将帮助您了解微软(Windows操作系统)提供的.NET Framework 如何使用它在您的软件里面里面

显示当前的时间或自定义的日期和时间(DateTime)结构

public struct DateTime : IComparable, IFormattable, IConvertible, 
ISerializable, IComparable, IEquatable
你可以注意到一个关键字:struct、这是告诉编译器(和程序),这不是一个类,它是一个结构

在我的文章中,我将试图解释如何创建使用缺省值(即已经内置在NET框架),或使用自己的自定义值

将它们作为参数传递给DateTime构造一个新的DateTime对象

项目代码和详细信息

该项目是专为初学者了解日期时间对象用的,并使用日期对象进行工作

这是一个基本的概念教程,并不和合大牛们研究、我要在这里解释一下这个项目就足以让你了解DateTime的基本信息了

你甚至不用下载的源代码来测试它,但如果你想这样做,继续前进,下载源代码
我将解释该软件背后的C#的逻辑和将离开的XAML代码不变

你可以得到的时间当前日期时间,你可以使用下面的代码来获取当前日期和时间

var date = DateTime.Now; // current time and date
private string type = "current"; // a conditional value only
private DateTime dateTime; // a DateTime object
方法被调用,用于获取日期时间值,然后进行日期时间的数学就可以了,调用一个函数,写数据到用户界面


public void GetDateTime()
{
    if (type == "current")
    {
        // current date time is required.
        dateTime = DateTime.Now;
        this.GetDateTimeFormats(dateTime);
    }
    else
    {
        try
        {
            string value = CustomDateTime.Text;
            dateTime = Convert.ToDateTime(value);

            this.GetDateTimeFormats(dateTime);
        } 
        catch (Exception ex) 
        {
            MessageBox.Show("There was an error converting " 
			+ "the string to datetime. " 
			+ "Try the DateTime in this " 
			+ "format mm-dd-yyyy hh:mm:ss

..and " 
			+ "remember, no double qoutation " 
			+ "marks in the value.");
        }
    }
}
如可以看到有其它的方法被调用时,该方法被用于填充该软件的用户界面和显示数据给用户。


这种方法不靠谱,并有大部分代码来填充用户界面

在这个方法中,我们使用的一些日期时间函数的调用来改变它们的显示(长或短型),并检查其属性(长度)等

public void GetDateTimeFormats(DateTime time)
{
    // set the UI values from the DateTime provided in the time parameter.

    dateTimeLength.Text = time.ToString().Length.ToString() + " characters.";
    dateTimeLongString.Text = time.ToLongDateString();
    dateTimeLongTimeString.Text = time.ToLongTimeString();
    dateTimeShortString.Text = time.ToShortDateString();
    dateTimeShortTimeString.Text = time.ToShortTimeString();
    if (type == "custom")
    {
        if (CustomDateTimeFormat.Text != "")
        {
            dateTimeToString.Text = time.ToString(CustomDateTimeFormat.Text);
        }
        else
        {
            dateTimeToString.Text = time.ToString("MMMM dd, yyyy hh:mm ss´s´");
        }
    }
    else
    {
        dateTimeToString.Text = time.ToString("MMMM dd, yyyy hh:mm ss´s´");
    }
        dateTimeShownAs.Text = "DateTime that you´re currently working with is: " + 
                                time.ToString();

    this.ElapsedTime(time, new DateTime(1995, 8, 29));
}

声明


public void ElapsedTime(DateTime time1, DateTime time2)
{
    TimeSpan timeSpan = time1 - time2;
    dateTimeElapsedTime.Text = "Hours elapsed are: " + timeSpan.Hours.ToString();
}
在代码中的使用



new DateTime(1995, 8, 29);
创建DateTime对象的新实例、你可以看到我是用new关键字来声明,我想要一个新的日期时间


使用带参的构造函数、我现在用的构造是这样的


public DateTime(
    int year,
    int month,
    int day
)


最后给大家献上本例子的源代码、如果大家有不明白的地方、可以源代码直接看源代码

下载链接: http://dwtedx.com/download.html?bdkey=s/1jG2zKSQ 密码: 6hof