簡體   English   中英

將字符串轉換為DateTime(yyyy-mm-dd)

[英]Convert String to DateTime(yyyy-mm-dd)

我正在從服務器解析日期,日期的格式為6/16/2016 3:15:29 PM您能幫我將日期轉換為2016-06-16嗎?

我試過了:

DateTime date = DateTime.ParseExact(datestring, "MM/dd/yyyy h-m-s t", System.Globalization.CultureInfo.InvariantCulture);
string formattedDate = date.ToString("yyyy-MM-dd")

但這給了我錯誤。

你有3個問題

  • 您沒有使用正確的時間分隔符
  • 您只使用一個t時,你需要兩個
  • 當您只需要一個M時就使用兩個M

嘗試

DateTime date = DateTime.ParseExact(datestring, "M/d/yyyy h:m:s tt", System.Globalization.CultureInfo.InvariantCulture);
string formattedDate = date.ToString("yyyy-MM-dd");

您只需要一個M的原因是因為MM期望前導零。 由於日期和時間的值是有界的,因此最好將單個版本用於月,日,分鍾和秒,因為它們適用於帶或不帶前導零的值。

要執行DateTime.ParseExact() ,輸入字符串的格式必須與該格式字符串相同。 嘗試這個:

DateTime date = DateTime.ParseExact(datestring, "M/dd/yyyy h:mm:ss tt", System.Globalization.CultureInfo.InvariantCulture);
string formattedDate = date.ToString("yyyy-MM-dd");

在給定的輸入字符串6/16/2016 3:15:29 PM中,這些很有趣

  1. 月以一位數字表示,因此應為M而不是MM 如果指定為06 ,則使用MM
  2. 在小時數方面也是如此。 應該是h而不是正常的hh
  3. 日期和時間之間以及時間和PM之間只有一個空格。 因此,我們在生成ParseExact的格式字符串時必須考慮所有這些因素

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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