簡體   English   中英

在 c# 中將 DateTime 轉換為 MM/dd/yyyy

[英]Convert DateTime to MM/dd/yyyy in c#

我正在調用網絡服務,它給我的日期時間為“dd-MM-yyyy 00:00:00”。 現在我想將它保存到數據庫中。 所以為了保存日期,我必須將日期格式轉換為 MM/dd/yyyy。 我試過下面的代碼來轉換日期時間格式,但對我沒有用

1. DateTime.ParseExact(string, "MM/dd/yyyy", culture);
2. Convert.ToDateTime(string).ToString("MM/dd/yyyy",CultureInfo.InvariantCulture);

誰可以幫我這個事?

DateTime 類型沒有任何特定格式,您可以直接將其保存到數據庫中。 但是如果你想要它作為特定的格式字符串,那么你可以通過

//input date string as dd-MM-yyyy HH:mm:ss format
string date = "17-10-2016 20:00:00";
//dt will be DateTime type
DateTime dt = DateTime.ParseExact(date, "dd-MM-yyyy HH:mm:ss", CultureInfo.InvariantCulture);
//s will be MM/dd/yyyy format string
string s = dt.ToString("MM/dd/yyyy");

如果您將輸入date作為DateTime類型,那么您可以直接獲得格式化的字符串

string s1 = date.ToString("MM/dd/yyyy");

DateTime是一個結構體,它沒有關於“格式”之類的任何信息。

如果要創建DateTime值的字符串表示形式,則僅使用格式。 您所說的“對我不起作用”的意思可能是您的調試器始終使用相同的格式來顯示DateTime的值。

將值插入數據庫需要做什么取決於數據庫系統和您使用的連接類型。 通常,您應該使用參數化查詢,您可以在其中按原樣傳遞DateTime ,一切都會正常進行。

如果您必須將DateTime值直接放入查詢字符串中,則只需使用myDate.ToString("MM/dd/yyyy",CultureInfo.InvariantCulture); . 但我絕對確定您使用的數據庫連接支持直接接受您的DateTime參數化查詢,我不建議將值轉換回字符串表示形式。

var dateTime = "28-08-1993 12:12:12";
DateTime dt = DateTime.ParseExact(dateTime, "dd-MM-yyyy hh:mm:ss", CultureInfo.InvariantCulture);
var convertedDate = dt.ToString("MM/dd/yyyy");
Console.WriteLine(convertedDate);

您也可以通過分別捕獲日/月/年來實現....

string formattedDate= Convert.ToDateTime(your_date_object).Day.ToString() + "/" + Convert.ToDateTime(your_date_object).Month.ToString() + "/" + Convert.ToDateTime(your_date_object).Year.ToString();
DateTime date=DateTime.Now;

string result =  date.ToString("MM/dd/yyyy");

暫無
暫無

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

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