我如何获得当前日期但没有时间?我正在尝试将日期从" dd.mm.yyyy"格式转换为" yyyy-mm-dd",因为DateTime.Now
也返回时间,当我尝试执行以下操作时,我会遇到错误(String was not recognized as a valid DateTime
。)。
string test = DateTime.ParseExact(DateTime.Now.ToString(), "dd.MM.yyyy", CultureInfo.InvariantCulture).ToString("yyyy-MM-dd");
使用日期属性:获取此实例的日期组件。
var dateAndTime = DateTime.Now;
var date = dateAndTime.Date;
变量date
包含日期,时间零件将为00:00:00。
或
Console.WriteLine(DateTime.Now.ToString("dd/MM/yyyy"));
或
dateTime.toshortDateString方法 -
Console.WriteLine(DateTime.Now.ToShortDateString ());
String test = DateTime.Now.ToString("dd.MM.yyy");
您尝试过
是否尝试过DateTime.Now.Date
String test = DateTime.Now.ToShortDateString();
应该像
一样简单DateTime.Today
这应该有效:
string datetime = DateTime.Today.ToString();
您可以在没有时间的情况下获得当前的UTC日期。
string currentDate = DateTime.UtcNow.ToString("yyyy-MM-dd");
如已经给出的几个答案中所述,您可以使用 ToShorDateString()
:
DateTime.Now.ToShortDateString();
但是,如果您也想将文化用作参数,则可能会有些阻止。在这种情况下,您可以使用ToString()
格式使用CC_6方法:
DateTime.Now.ToString("d", CultureInfo.GetCultureInfo("en-US"))
尝试以下:
var mydtn = DateTime.Today;
var myDt = mydtn.Date;return myDt.ToString("d", CultureInfo.GetCultureInfo("en-US"));
如果您需要准确的示例,则应将格式添加到toString()
string test = DateTime.ParseExact(DateTime.Now.ToString("dd.MM.yyyy"), "dd.MM.yyyy", CultureInfo.InvariantCulture).ToString("yyyy-MM-dd");
,但最好使用直接格式:
string test = DateTime.Now.ToString("yyyy-MM-dd")