0

我正在尝试将搜索的日期时间格式从 ddd MMM dd HH:mm:ss zzz yyyy 更改为只是 yyyy-MM-dd 我无法在我的转换中获得正确的语法,所以任何帮助都会很棒.

public DateTime CreatedAt
{
    get
    {
        return DateTime.ParseExact(this.created_at, "ddd MMM dd HH:mm:ss zzz yyyy", CultureInfo.InvariantCulture);
    }
}

public DateTime SearchDate
{
    get
    {
        return DateTime.ParseExact(CreatedAt.ToString(), "yyyy-MM-dd", CultureInfo.InvariantCulture);
    }
}

searchDate 是我的问题。

4

1 回答 1

2

这不起作用:

return DateTime.ParseExact(CreatedAt.ToString(), "yyyy-MM-dd", CultureInfo.InvariantCulture);

因为CreatedAt.ToString()将以默认格式创建日期时间字符串(不是yyyy-MM-dd,这是您尝试读取它的方式)。

但更重要的是,您为什么要尝试将日期从一种字符串格式时间转换为另一种时间?如果您有DateTime值(在本例中为 CreatedAt),您可以随心所欲地渲染它(例如CreatedAt.ToString("yyyy-MM-dd")) 将它转换为字符串并解析它的一部分似乎没有任何意义。

正如 Bob 指出的那样,如果您想要的只是日期部分,请使用CreatedAt.Date. 不过,请尝试考虑您的真正目标是什么,并尝试以最少的转换(以及因此的转换问题)尽可能最短的路线。

于 2013-10-15T20:42:04.757 回答