繁体   English   中英

如何在没有时间的情况下获取当前日期?

[英]How to get the current date without the time?

我可以使用以下方法获取日期和时间:

DateTime now = DateTime.Now;

如何以 DateTime 格式本身单独获取当前日期和时间?

我没有使用 ASP.NET (C#) 中的日期时间选择器对话框。

好吧,您可以使用Today属性将Today的日期作为DateTime获取:

 DateTime today = DateTime.Today;

或者更一般地说,您可以使用Date属性。 例如,如果您想要 UTC 日期,您可以使用:

 DateTime dateTime = DateTime.UtcNow.Date;

不过,目前还不清楚这是否是您需要的……如果您只是想打印日期,则可以使用:

Console.WriteLine(dateTime.ToString("d"));

或使用显式格式:

Console.WriteLine(dateTime.ToString("dd/MM/yyyy"));

查看有关标准自定义日期/时间格式字符串的更多信息。 根据您的情况,您可能还想指定文化。

如果您想要一个更具表现力的日期/时间 API,它允许您将日期与时间分开讨论,您可能需要查看我开始的Noda Time项目。 它还没有准备好投入生产,但我们很想听听你想用它做什么......

看,在这里您只能通过传递格式字符串来获取日期。 您可以根据您的要求获得不同的日期格式,如下所示:

DateTime.Now.ToString("M/d/yyyy");

结果: “9/1/2015”

DateTime.Now.ToString("M-d-yyyy");

结果: “9-1-2015”

DateTime.Now.ToString("yyyy-MM-dd");

结果: “2015-09-01”

DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");

结果: “2015-09-01 09:20:10”

有关更多详细信息,请查看自定义日期和时间格式字符串的 MSDN 参考

使用DateTime.Today属性。 它将返回DateTime.Now日期组件。 它相当于DateTime.Now.Date

当前时间 :

DateTime.Now.ToString("HH:mm:ss");

当前的日期 :

DateTime.Today.ToString("dd-MM-yyyy");

您可以使用以下代码分别获取日期和时间。

DateTime now = DateTime.Now;
string date = now.GetDateTimeFormats('d')[0];
string time = now.GetDateTimeFormats('t')[0];

您也可以查看MSDN以获取更多信息。

.NET 中没有内置的仅日期类型。

约定是使用时间部分设置为午夜的DateTime

静态DateTime.Today属性将为您提供今天的日期。

从 .Net 6 开始,您可以使用:

 var dateOnly = DateOnly.FromDateTime(DateTime.Now);

参考: https://learn.microsoft.com/en-us/do.net/api/system.dateonly?view.net-6.0

采用

txtdate.Text = DateTime.Today.ToString("dd-MM-yyyy");
string now = Convert.ToString(DateTime.Now.ToShortDateString());
Console.WriteLine(now);
Console.ReadLine();

一个月

DateTime.Now.ToString("MM");

一天

DateTime.Now.ToString("dd");

一年

DateTime.Now.ToString("yyyy");
DateTime.Now.ToString("dd/MM/yyyy");

我认为您需要单独的日期部分,例如(日,月,年)

今天的日期时间 = DateTime.Today;

不适用于您的情况。 您可以单独获取日期,因此您不需要today变量作为DateTime类型,所以让我们只给today变量int类型,因为这一天只是 int。 所以今天是 2020 年 3 月 10 日,那么结果是

int today = DateTime.Today.Day;

int 月份 = DateTime.Today.Month;

int year = DateTime.Today.Year;

MessageBox.Show(today.ToString()+ " - 这是日。"+month.ToString()+ " - 这是月。" + year.ToString() + " - 这是年");

将是“ 10 - 这是天。3 - 这是月。2020 - 这是年”

您可以像这样使用DateTime.Now.ToShortDateString()

var test = $"<b>Date of this report:</b> {DateTime.Now.ToShortDateString()}";

.Net6 ,您可以使用新的DateOnly类型:

DateOnly.FromDateTime(DateTime.Today)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM