2014-02-18 15 views
3

Не могли бы вы предложить способы преобразования даты в формат ccyymmddhhmsms в C#? Пожалуйста, перешлите любое предложение или соответствующую информацию.Как преобразовать дату в формат 'ccyymmddhhmmss'?

+2

у = Год M = Месяц D = День h = Час т = Минуты S = секунды. Что вы подразумеваете под c? –

+3

@ chris_techno25 Моя ставка на «век» –

+0

@ C.Evenhuis Спасибо, сэр. Я никогда не использовал c раньше. Это действительно включено в форматирование писем? –

ответ

6

Возможно, вы захотите попробовать это ... Я не знаю, включен ли cc, поэтому я решил для cc.

DateTime time = DateTime.Now; 
string format = "yyMMddhhmmss"; 
Console.WriteLine(((Convert.ToInt32(time.ToString("yyyy"))/100) + 1).ToString() + time.ToString(format)); 

Для «YYMMDDHHMMSS» ..... Попробуйте это ... И не забывайте, что капитал M является месяц и нижний регистр m минутах.

DateTime dt = Convert.ToDateTime("8 Oct 10 19:00"); 
Console.WriteLine(dt.ToString("yyMMddhhmmss")); 
+0

Я добавил +1, так как мы в 21 веке. Это всегда округляется. –

+0

Привет, Крис, спасибо за обмен информацией ... – Narasimha

+1

@Narasimha Нет проблем :) Не волнуйся ... Это ситуация с даром и ситуацией. Однажды мне может понадобиться ваша помощь. Давайте все будем помогать друг другу :) –

2

Из чего я понимаю из вашего вопроса, вы хотите отформатировать объект C# date в указанном формате?

Самый простой способ сделать это - использовать date.ToString ("yyyyMMddHHmmss") - где дата - объект Date ... Для этого есть несколько вариантов - например, с 12 часами вместо 24-часового и т. Д. Лучший вариант - прочитать через http://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx и установить то, что вам нужно.

Надеюсь, это поможет.

0

@ Chris_techno25: Я взял свободу, чтобы расширить свой ответ:

Если мы будем придерживаться вопроса о Narashima, он хочет формат ccyymmddhhmmss. Так я почесал этот метод расширения:

public static string IncludeCentury(this DateTime sourceDate, bool replace) 
{ 
    var source = String.Format("{0}/{1}", sourceDate.Year/100 + 1, sourceDate); 
    if(replace) 
    return Regex.Replace(source, "[^0-9]", ""); 
    else 
    return source; 
} 

Usage:

var includingCentury = DateTime.Now.IncludeCentury(true) 
var includingCentury = DateTime.Now.IncludeCentury(false) 

Выходные:

21218201491410 
21/2/18/2014 9:18:10 AM 
+0

ни '21218201491410', ни' 21/2/18/2014 9:18:10 AM' находятся в формате 'ccyymmddhhmsms' , так в чем смысл этого ответа? – eis

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