[英]Converting string to date time
我有一個像這樣的字符串中的日期:
09/25/2014 09:18:24
我需要這樣(yyyy-mm-dd):
2014-09-25 09:18:24
此日期進入的對象是可為空的日期。
試圖這樣做不起作用:
DateTime formattedDate;
bool result = DateTime.TryParseExact(modifiedDate, "yyyy-MM-dd",
CultureInfo.InvariantCulture,
DateTimeStyles.None,
out formattedDate);
有什么線索嗎?
提前致謝。
將指定的日期和時間的字符串表示形式轉換為其等效的DateTime。 字符串表示形式的格式必須與指定的格式完全匹配。
在您的情況下,它們不是。 請改用yyyy-MM-dd HH:mm:ss
格式。
string s = "2014-09-25 09:18:24";
DateTime dt;
if(DateTime.TryParseExact(s, "yyyy-MM-dd HH:mm:ss",
CultureInfo.InvariantCulture,
DateTimeStyles.None, out dt))
{
Console.WriteLine(dt);
}
尚不清楚,但是如果您的字符串是09/25/2014 09:18:24
,則可以改用MM/dd/yyyy HH:mm:ss
格式。 提示, "/"
自定義格式說明符具有特殊含義,可以用當前的區域性或提供的區域性日期分隔符代替我 。 這意味着,如果您的CurrentCulture
或提供的區域性的DateSeparator
不是/
,則即使您的格式和字符串完全匹配,您的解析操作也會失敗。
如果你已經有一個DateTime
,並要格式化它,你可以使用DateTime.ToString(string)
方法等;
dt.ToString("yyyy-mm-dd", CultureInfo.InvariantCulture); // 2014-09-25
要么
dt.ToString("yyyy-mm-dd HH:mm:ss", CultureInfo.InvariantCulture); // 2014-09-25 09:18:24
請記住, DateTime
沒有任何隱式格式。 它僅包含日期和時間值。 它們的字符串表示形式具有格式。
為了回答您的問題,按照您的喜好將其轉換,如下所示:
string originalDate = "09/25/2014 09:18:24";
DateTime formattedDate;
if (DateTime.TryParseExact(originalDate, "MM/dd/yyyy HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None, out formattedDate))
{
string output = formattedDate.ToString("yyyy-mm-dd HH:mm:ss", CultureInfo.InvariantCulture);
}
然后輸出將具有您想要的格式。
DateTime dateOf = Convert.ToDateTime("09/25/2014 09:18:24");
string myFormat = "yyyy-mm-dd";
string myDate = dateOf.ToString(myFormat); // output 2014-18-25
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.