簡體   English   中英

將字符串轉換為日期時間

[英]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.TryParseExact

將指定的日期和時間的字符串表示形式轉換為其等效的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM