我很想改变搜索的日期时间格式,从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是我的问题。
答案 0 :(得分:2)
这不起作用:
return DateTime.ParseExact(CreatedAt.ToString(), "yyyy-MM-dd", CultureInfo.InvariantCulture);
因为CreatedAt.ToString()
将以默认格式创建日期时间字符串(而非yyyy-MM-dd
,这就是您尝试阅读它的方式)。
但更重要的是,为什么要尝试将日期从一个字符串格式转换为另一个?如果你有DateTime
值(在这种情况下是CreatedAt),你可以随意渲染它(例如CreatedAt.ToString("yyyy-MM-dd")
)将它转换为字符串似乎没有任何意义解析它的一部分。
正如鲍勃指出的那样,如果您想要的只是日期部分,请选择CreatedAt.Date
。尽量考虑一下你的真正目标是什么,尽量采用最短的路线,尽可能少转换(因此转换问题)。