如何在 C# 中将日期格式转换为 DD-MM-YYYY?我只在寻找 DD-MM-YYYY 格式而不是其他任何东西。
16 回答
根据第一个 Google 搜索结果: http ://www.csharp-examples.net/string-format-datetime/
// Where 'dt' is the DateTime object...
String.Format("{0:dd-MM-yyyy}", dt);
这是最简单的方法。
这是字符串值:“5/13/2012”
DateTime _date;
string day = "";
_date = DateTime.Parse("5/13/2012");
day = _date.ToString("dd-MMM-yyyy");
它将输出为:2012 年 5 月 13 日
string formattedDate = yourDate.ToString("dd-MM-yyyy");
DateTime dt = DateTime.Now;
String.Format("{0:dd-MM-yyyy}", dt);
DateTime s1 = System.Convert.ToDateTime(textbox.Trim());
DateTime date = (s1);
String frmdt = date.ToString("dd-MM-yyyy");
将工作
DateTime dt = DateTime.Now;
String.Format("{0:dd-MM-yyyy}", dt);
首先将您的字符串转换为 DateTime 变量:
DateTime date = DateTime.Parse(your variable);
然后将此变量转换回正确格式的字符串:
String dateInString = date.ToString("dd-MM-yyyy");
开始了:
DateTime time = DateTime.Now;
Console.WriteLine(time.Day + "-" + time.Month + "-" + time.Year);
作品!:)
您是否将日期变量存储为字符串或日期类型?
在这种情况下,您需要执行类似的操作
DateTime myDate = null;
DateTime.TryParse(myString,myDate);
或者
Convert.ToDateTime(myString);
然后,您可以在日期变量上调用 ToString("dd-MM-yyyy")
问题是你试图转换一个字符串,所以首先你应该将你的变量转换为日期,然后应用类似的东西,
string date = variableConvertedToDate.ToString("dd-MM-yyyy")
或者
string date = variableConvertedToDate.ToShortDateString()
在这种情况下结果是 dd/MM/yyyy。
从 C# 6.0 开始(Visual Studio 2015 和更新版本),您可以简单地使用带格式的插值字符串:
var date = new DateTime(2017, 8, 3);
var formattedDate = $"{date:dd-MM-yyyy}";
dateString = "not a date";
// Exception: The string was not recognized as a valid DateTime. There is an unknown word starting at index 0.
DateTime dateTime11; // 1/1/0001 12:00:00 AM
bool isSuccess2 = DateTime.TryParseExact(dateString, "MM/dd/yyyy", provider, DateTimeStyles.None, out dateTime11);
我遇到了同样的问题。我需要做的是在类的顶部添加一个引用并更改当前正在执行的线程的 CultureInfo。
using System.Threading;
string cultureName = "fr-CA";
Thread.CurrentThread.CurrentCulture = new CultureInfo(cultureName);
DateTime theDate = new DateTime(2015, 11, 06);
theDate.ToString("g");
Console.WriteLine(theDate);
您所要做的就是更改文化名称,例如:“en-US” = 美国 “fr-FR” = 讲法语的法国 “fr-CA” = 讲法语的加拿大等...
var dateTimeString = "21-10-2014 15:40:30";
dateTimeString = Regex.Replace(dateTimeString, @"[^\u0000-\u007F]", string.Empty);
var inputFormat = "dd-MM-yyyy HH:mm:ss";
var outputFormat = "yyyy-MM-dd HH:mm:ss";
var dateTime = DateTime.ParseExact(dateTimeString, inputFormat, CultureInfo.InvariantCulture);
var output = dateTime.ToString(outputFormat);
Console.WriteLine(output);
试试这个,它对我有用。
你可以这样做:
return inObj == DBNull.Value ? "" : (Convert.ToDateTime(inObj)).ToString("MM/dd/yyyy").ToString();