详解.NET Framework DateTime_C#时间使用(C# DateTime Demo)
2014-08-14 20:58:13  By: shinyuu

简介

本文将帮助您了解微软(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

若资源对你有帮助、浏览后有很大收获、不妨小额打赏我一下、你的鼓励是维持我不断写博客最大动力

想获取DD博客最新代码、你可以扫描下方的二维码、关注DD博客微信公众号(ddblogs)

或者你也可以关注我的新浪微博、了解DD博客的最新动态:DD博客官方微博(dwtedx的微博)

如对资源有任何疑问或觉得仍然有很大的改善空间、可以对该博文进行评论、希望不吝赐教

为保证及时回复、可以使用博客留言板给我留言: DD博客留言板(dwtedx的留言板)

感谢你的访问、祝你生活愉快、工作顺心、欢迎常来逛逛


快速评论


技术评论

  • 该技术还没有评论、赶快抢沙发吧...
DD记账
top
+