如何格式化date时间格式不同?
我有一个string表示一个特定格式的date,我希望格式不同。 有人告诉我使用DateTime.(Try)ParseExact
,所以我做了:
var dateString = "2016-02-26"; var formatString = "dd/MM/yyyy"; var parsedDate = DateTime.ParseExact(dateString, formatString, null);
你看,我想格式化date为dd/MM/yyyy
,所以26/02/2016
。 但是,这段代码会抛出一个FormatException:
string未被识别为有效的date时间。
我如何格式化date时间不同?
首先,DateTimes没有格式。 date时间包含一个时间点和一个标志,指示该时刻是本地的,UTC还是未知的,就是这样。
DateTime得到格式化的唯一时刻是当你输出一个string的值。
您提供给(Try)ParseExact
的格式string是要parsing的date(时间)string的格式 。 请参阅MSDN:自定义date和时间格式string以了解如何编写自己的格式string。
所以你正在寻找parsing该string的代码是这样的,并再次确保格式string与inputdatestring的格式完全匹配:
var dateString = "2016-02-26"; var formatString = "yyyy-MM-dd"; var parsedDate = DateTime.ParseExact(dateString, formatString, null);
现在parsedDate
包含一个DateTime值,你可以用你想要的格式输出(注意,你必须转义/
,因为它会被解释为“当前文化的date分隔符”),如上面MSDN链接):
var formattedDate = parsedDate.ToString("dd\\/MM\\/yyyy");
这将以所需格式格式化date:
26/02/2016