1

我有一个日期时间对象,我正在提取它的时间部分

var dateAndTime = Convert.ToDateTime(certificate.GetEffectiveDateString());
var date = dateAndTime.Date;

date 正在返回一个值:10/23/2013 12:00:00 AMwhere is 应该只返回10/23/2013 不知道为什么不删除时间部分。

删除时间部分后,我需要将日期转换为这种格式 October 23,2013

我们能不能把时间部分去掉,通过一些定义的格式改成这种格式。

4

10 回答 10

7

日期时间没有转换。如果您有一个日期时间字符串,请使用 DateTime.TryParse。如果你有一个日期时间并且想要一个格式化的字符串。您可以使用格式字符串:

dateAndTime.ToString("MMMM dd,yyyy");

会给你一个格式化的日期字符串。

于 2013-10-23T11:51:47.293 回答
3

使用以下获取格式 2013 年 10 月 23 日

dt.ToString("MMMM dd, yyyy");  

日期时间格式

于 2013-10-23T11:51:33.063 回答
2

DateTime.Date只是DateTime时间部分设置为零或午夜的时间。如果您尝试将其输出为字符串,则可以使用ToShortDateString()多种自定义格式中的一种或一种。

date.ToString("MMMM dd,yyyy")

应该给你你正在寻找的输出。

有关信息DateTime.Date

http://msdn.microsoft.com/en-us/library/system.datetime.date.aspx

有关格式字符串的更多信息DateTime

http://msdn.microsoft.com/en-us/library/az4se3k1.aspx

http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

于 2013-10-23T11:52:58.490 回答
1

您可能的意思是在ToString时间与日期一起呈现之后。例如,使用ToShortDateString方法来获得您所期望的。还有许多其他可能的方法可以将日期格式化为字符串,您可以在这里轻松找到它们。您提到的第二种格式可以通过以下方式实现:

date.ToString("MMMM dd,yyyy");

使用这个ToString重载。

于 2013-10-23T11:50:22.393 回答
1

如果要检索仅日期字符串表示形式,可以使用

dateTime.ToString("d")

格式,根据MSDN

于 2013-10-23T11:51:14.217 回答
1

以下是所有标准日期格式。

http://msdn.microsoft.com/en-us/library/az4se3k1.aspx

于 2013-10-23T11:49:37.937 回答
1

使用日期属性:

或者

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

日期变量将包含日期,时间部分将是 00:00:00。

于 2013-10-23T11:49:44.617 回答
1

有几种方法可以做到这一点,最简单最有效的,就是这样;

DateTime.Now.Date.ToString("MMMM dd,yyyy") //Return October 23,2013

有关自定义日期的进一步阅读,请参阅此URL和此URL

于 2013-10-23T11:52:36.837 回答
0
// returns a date 'MM/dd/yyyy' string from a datetime string '2014-06-19 00:00:00.000'
public static string stripTime(string s) {
    string date = "";
    DateTime dt = DateTime.Parse(s);
    date = dt.Date.ToString("MM/dd/yyyy");
    return date;
}
// returns a date 'MM/dd/yyyy'string  from a datetime datetime 
public static string stripTime(DateTime d) {
    string date = "";
    date = d.Date.ToString("MM/dd/yyyy");
    return date;
}
于 2015-12-04T19:13:37.557 回答
0

当然这会起作用:

var dateAndTime = Convert.ToDateTime(certificate.GetEffectiveDateString());
var date = new DateTime(dateTime.Year, dateTime.Month, dateTime.Day);

但是,我还没有尝试过自己,但是它应该会给出您想要的结果。你甚至可以为它创建一个扩展方法:

public static class DateExtension
{
    public DateTime ToDateOnly(this DateTime d)
    {
       return new DateTime(d.Year, d.Month, d.Day);
    }
}
于 2017-01-13T09:37:05.423 回答