Оп попросил «ДД-ММ-ГГГГ», а не «ММ / ДД / ГГГГ»

онвертировать формат даты в ДД-ММ-ГГГГ в C #? Я только ищу формат ДД-ММ-ГГГГ, а не что-нибудь еще.

 DOK10 янв. 2011 г., 18:41
Учтите, что форматирование ToString ("dd-MM-yyyy") чувствительно к регистру. Если вы используете строчные буквы М, у вас не будет месяца, что я слишком часто встречал, чтобы сосчитать.
 matt10 янв. 2011 г., 18:38
Вы конвертируете строку в другую строку? Вы хотите отформатировать DateTime в виде строки сDD-MM-YYYY формат? Какой язык: VB, C #, что-то еще? Пожалуйста, предоставьте больше информации.

Ответы на вопрос(15)

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

DateTime date = DateTime.Parse(your variable);

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

String dateInString = date.ToString("dd-MM-yyyy");
 saurav210910 янв. 2011 г., 19:36
hrms_job = hrms_job.Append («ВЫБЕРИТЕ [Код задания], [Имя задания], [Дата начала], [Дата окончания] ОТ [hrms_job $]»); для (int iRowCount = 0; iRowCount <hrms_jobdata.Tables [0] .Rows.Count; iRowCount ++) {JobCode = hrms_jobdata.Tables [0] .Rows [iRowCount] ["Код вакансии"]. ToString (); JobName = hrms_jobdata.Tables [0] .Rows [iRowCount] ["Имя работы" ] .ToString (); StartDate = hrms_jobdata.Tables [0] .Rows [iRowCount] ["Дата начала"]. ToString (); EndDate = hrms_jobdata.Tables [0] .Rows [iRowCount] ["Дата окончания"]. ToString (); DateTime convertdate = DateTime.Parse (StartDate); string StartDateFormated = convertdate.ToString ("DD-MM-YYYY");}
 saurav210910 янв. 2011 г., 19:41
Большое спасибо всем .. У меня есть решение .. Я делал DD-MM-YYYY, но на самом деле это был dd-MM-yyyy, который чувствителен к регистру. Большое спасибо всем за вашу приятную поддержку
 saurav210910 янв. 2011 г., 19:37
Ниже приведен мой код, извините, что беспокою вас снова, но я не получаю именно то, что хочу ... После вашего предложения я получаю DD-02-YYYY, что означает, что я получаю месячную стоимость, но не все. Пожалуйста помоги

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

// Where 'dt' is the DateTime object...
String.Format("{0:dd-MM-yyyy}", dt);
 saurav210910 янв. 2011 г., 19:06
Большое спасибо за ответ, но это не работает, string.format не даст нам формат DD-MM-YYYY, он даст формат DD / MM / YYYY
DateTime dt = DateTime.Now;

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

это добавить ссылку в верхней части класса и изменить 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 date = new DateTime(2017, 8, 3);
var formattedDate = $"{date:dd-MM-yyyy}";

Это строковое значение: "13.05.2012"

DateTime _date;
string day = "";

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

Будет выпущен как: 13-мая-2012

 Bibi Tahira20 авг. 2013 г., 11:22
Правильно, как хорошо
DateTime dt = DateTime.Now;

String.Format("{0:dd-MM-yyyy}", dt);
 evilone10 янв. 2011 г., 19:42
Работает для меня. Выходной 10-01-2011
 saurav210910 янв. 2011 г., 19:06
Большое спасибо за ответ, но это не работает, string.format не даст нам формат DD-MM-YYYY, он даст формат DD / MM / YYYY

Вы могли бы сделать так:

return inObj == DBNull.Value ? "" : (Convert.ToDateTime(inObj)).ToString("MM/dd/yyyy").ToString();
 Serge16 февр. 2019 г., 07:02
Оп попросил «ДД-ММ-ГГГГ», а не «ММ / ДД / ГГГГ»
string formatted = date.ToString("dd-MM-yyyy");

Вот хороший справочник для разных форматов.

 alexn10 янв. 2011 г., 19:12
Как ты это называешь? Делать именно то, что я написал, будет работать. См MSDN для получения дополнительной информацииmsdn.microsoft.com/en-US/library/zdtaw1bw%28v=VS.100%29.aspx
 saurav210910 янв. 2011 г., 19:09
Спасибо за быстрый ответ, но он не работает .. Ниже ошибка, которую я получаю .. не могу преобразовать из 'строки' в 'System.IFormatProvider'
 saurav210910 янв. 2011 г., 19:14
Я выбираю дату начала и дату окончания из приведенного ниже запроса, после чего я использую цикл for для всех выбранных значений ... Пожалуйста, посмотрите ниже. hrms_job = hrms_job.Append («ВЫБЕРИТЕ [Код задания], [Имя задания], [Дата начала], [Дата окончания] ОТ [hrms_job $]»);
 saurav210910 янв. 2011 г., 19:19
for (int iRowCount = 0; iRowCount <hrms_jobdata.Tables [0] .Rows.Count; iRowCount ++) {JobCode = hrms_jobdata.Tables [0] .Rows [iRowCount] ["Код работы"]. ToString (); JobName = hms .Tables [0] .Rows [iRowCount] ["Имя задания"]. ToString (); StartDate = hrms_jobdata.Tables [0] .Rows [iRowCount] ["Дата начала"]. ToString (); EndDate = hrms_jobdata.Tables [0] .Rows [iRowCount] ["Дата окончания"]. ToString (); JobCodeList.Add (JobCode + JobName); } здесь только после цикла For я хочу отформатировать дату начала и дату окончания в формат DD-MM-YYYY
 Euphoric10 янв. 2011 г., 19:20
@ saurav2109: Вы путаете типы String и DateTime. Сначала вы должны проанализировать вашу дату в строке в DateTime, а затем использовать ToString с formater, чтобы получить желаемый результат.

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

DateTime myDate = null;

DateTime.TryParse(myString,myDate);

или же

Convert.ToDateTime(myString);

Затем вы можете вызвать ToString ("dd-MM-yyyy") для вашей переменной даты

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

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

string formattedDate = yourDate.ToString("dd-MM-yyyy");
 saurav210910 янв. 2011 г., 19:08
Большое спасибо за быстрый ответ не может, но он не работает .. я получаю сообщение об ошибке 'string' в 'System.IFormatProvider'

Вот так:

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

РАБОТАЕТ! :)

Ваш ответ на вопрос