2011-01-10 2 views
20

Как преобразовать формат даты в DD-MM-YYYY в C#? Я просто ищу формат DD-MM-YYYY, а не что-то еще.Как преобразовать формат даты в DD-MM-YYYY в C#

+0

Вы преобразовываете строку в другую строку? Вы хотите отформатировать DateTime как строку с форматом «DD-MM-YYYY»? Какой язык: VB, C#, что-то еще? Пожалуйста, предоставьте дополнительную информацию. – matt

+0

Помните, что форматирование ToString («dd-MM-yyyy») чувствительно к регистру. Если вы используете нижний регистр M, вы не получите месяц, то, что я наткнулся слишком много раз, чтобы пересчитать. – DOK

ответ

7
string formattedDate = yourDate.ToString("dd-MM-yyyy"); 
+0

Большое спасибо за быстрый ответ, но его не работает .. конвертировать из 'string' в 'System.IFormatProvider' error Я получаю – saurav2109

42
string formatted = date.ToString("dd-MM-yyyy"); 

будет делать это.

Here является хорошей ссылкой для разных форматов.

+0

Спасибо за быстрый ответ, но его не работает..Below error i am getting..cannot convert от 'string' до 'System.IFormatProvider' – saurav2109

+0

Как вы это называете? Выполнение того, что я написал, будет работать. См. MSDN для получения дополнительной информации http://msdn.microsoft.com/en-US/library/zdtaw1bw%28v=VS.100%29.aspx – alexn

+0

Я выбираю дату начала и дату окончания из нижеследующего запроса после этого, я использую для цикла для всех выбранных значений ... Пожалуйста, смотрите ниже. hrms_job = hrms_job.Append ("SELECT [код работы], [название работы], [начальная дата], [конечная дата] FROM [hrms_job $]"); – saurav2109

12

По словам одного из первых хитов поиска Google: http://www.csharp-examples.net/string-format-datetime/

// Where 'dt' is the DateTime object... 
String.Format("{0:dd-MM-yyyy}", dt); 
+0

Большое спасибо за ответ, но это не работает, string.format не даст нам формат DD-MM-YYYY, он предоставит формат DD/MM/YYYY – saurav2109

4
DateTime dt = DateTime.Now; 

String.Format("{0:dd-MM-yyyy}", dt); 
+0

Большое спасибо за ответ, но это не работает, строка .формат не даст нам формат DD-MM-YYYY, он предоставит формат DD/MM/YYYY – saurav2109

+1

Работает для меня. Вывод 10-01-2011 – evilone

0

ли вы переменная дата хранится в виде строки или типа Date?

В этом случае вам нужно будет сделать что-то вроде

DateTime myDate = null;

DateTime.TryParse(myString,myDate); 

или

Convert.ToDateTime(myString); 

Затем можно вызвать ToString ("ДД-ММ-ГГГГ") на вашем date

2

Сначала преобразуйте вашу строку в переменную DateTime:

DateTime date = DateTime.Parse(your variable); 

Затем преобразовать эту переменную обратно в строку в правильном формате:

String dateInString = date.ToString("dd-MM-yyyy"); 
+0

hrms_job = hrms_job.Append («SELECT [код работы], [имя задания], [начальная дата], [конечная дата] FROM [hrms_job $]"); for (int iRowCount = 0; iRowCount saurav2109

+0

Ниже мой код, извините за беспокойство вас снова, но я не собираюсь именно то, что хочу ... После вашего предложения теперь я получаю DD-02 -YYYY, означает, что я получаю месячную ценность, но не все. Пожалуйста, помогите – saurav2109

+0

Thhanks много Everyone..I получил решение .. Я делал DD-MM-YYYY, но на самом деле это был dd-MM-yyyy, который чувствителен к регистру. Спасибо многим за вашу приятную поддержку. – saurav2109

2
DateTime s1 = System.Convert.ToDateTime(textbox.Trim()); 
     DateTime date = (s1); 
     String frmdt = date.ToString("dd-MM-yyyy"); 

будет работать

9

Вот метод Простейшие.

Это строковое значение: "5/13/2012"

DateTime _date; 
string day = ""; 

_date = DateTime.Parse("5/13/2012"); 
day = _date.ToString("dd-MMM-yyyy"); 

Он будет выводиться как: 13-May-2012

+0

Правильно –

0

Я столкнулся с той же проблемой. Мне нужно было добавить ссылку вверху класса и изменить 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" = франко говоря Канада и т.д ...

0

проблема заключается в том, что вы пытаетесь преобразовать строку, так что сначала вы должны отбрасывать переменную на сегодняшний день, и после этого применить что-то вроде
string date = variableConvertedToDate.ToString("dd-MM-yyyy")
или
string date = variableConvertedToDate.ToShortDateString() я В этом случае результат равен dd/MM/yyyy.

1

Здесь мы идем:

DateTime time = DateTime.Now; 
Console.WriteLine(time.Day + "-" + time.Month + "-" + time.Year); 

РАБОТУ! :)

-1
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); 

Попробуйте это, оно работает для меня.

0

От C# 6.0 и выше (Visual Studio 2015 и более поздние версии), вы можете просто использовать интерполированную строку с форматированием:

var date = new DateTime(2017, 8, 3); 
var formattedDate = $"{date:dd-MM-yyyy}"; 
0

возвращения inObj == DBNull.Value? "": (Convert.ToDateTime (inObj)). ToString ("MM/dd/yyyy"). ToString();

Смежные вопросы