[英]Retain MM/dd/yyyy format when converting string value to DateTime
[英]Converting string format to datetime in mm/dd/yyyy
我必須將 mm/dd/yyyy 格式的字符串轉換為日期時間變量,但它應該保留為 mm/dd/yyyy 格式。
string strDate = DateTime.Now.ToString("MM/dd/yyyy");
請幫忙。
您正在尋找DateTime.Parse()
方法( MSDN 文章)
所以你可以這樣做:
var dateTime = DateTime.Parse("01/01/2001");
這將為您提供鍵入 object 的DateTime
。
如果您需要指定要使用的日期格式,您可以使用DateTime.ParseExact
( MSDN 文章)
你會在這種情況下使用(你使用英式日期格式的地方):
string[] formats= { "dd/MM/yyyy" }
var dateTime = DateTime.ParseExact("01/01/2001", formats, new CultureInfo("en-US"), DateTimeStyles.None);
月份部分需要大寫的M
string strDate = DateTime.Now.ToString("MM/dd/yyyy");
小寫m
用於輸出(和解析)一分鍾(例如h:mm
)。
例如,完整的日期時間字符串可能如下所示:
string strDate = DateTime.Now.ToString("MM/dd/yyyy h:mm");
注意大寫/小寫的mM
差異。
此外,如果您將始終處理相同的日期時間格式字符串,則可以通過將它們編寫為 C# 擴展方法來使其更容易。
public static class DateTimeMyFormatExtensions
{
public static string ToMyFormatString(this DateTime dt)
{
return dt.ToString("MM/dd/yyyy");
}
}
public static class StringMyDateTimeFormatExtension
{
public static DateTime ParseMyFormatDateTime(this string s)
{
var culture = System.Globalization.CultureInfo.CurrentCulture;
return DateTime.ParseExact(s, "MM/dd/yyyy", culture);
}
}
示例:在日期時間/字符串之間進行轉換
DateTime now = DateTime.Now;
string strNow = now.ToMyFormatString();
DateTime nowAgain = strNow.ParseMyFormatDateTime();
請注意,沒有辦法存儲自定義DateTime
格式信息以用作default
,如.NET大多數字符串格式取決於當前設置的文化,即
System.Globalization.CultureInfo.CurrentCulture.
您可以做的唯一簡單方法是滾動自定義擴展方法。
此外,另一種簡單的方法是為您的 DateTime 使用不同的“容器”或“包裝器”class,即一些特殊的 class 定義了explicit operator
,可以自動轉換為日期時間/字符串或從日期時間/字符串轉換。 但那是危險的領域。
解決方案
DateTime.Now.ToString("MM/dd/yyyy", CultureInfo.InvariantCulture)
我喜歡這個
var datetoEnter= DateTime.ParseExact(createdDate, "dd/mm/yyyy", CultureInfo.InvariantCulture);
您也可以通過這樣做來更改格式
string fecha = DateTime.Now.ToString(format:"dd-MM-yyyy");
// 這將"/"
更改為"-"
以下對我有用。
string strToday = DateTime.Today.ToString("MM/dd/yyyy");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.