2014-11-16 3 views
-1

Я создаю приложение C#. Он должен сохранять в файл (среди прочего) сегодняшнюю дату (время) в разных форматах, например. в одной строке должна быть только в день, во втором месяце и год расщепляется / и т.д.Как получить дату (время) в определенном формате для C#?

Я прочитал this и this статьи о стандартных и нестандартных форматах дата, но не нашел то, что я хотел.

I PHP У меня есть функция date(). Он может вернуть мне дату в указанный мною формате, например:

date('l'); - название дня (например, понедельник)

date('h:i:s A'); - Часы работы: minuts: второй PM/AM

Это хорошо, потому что я могу отдельно укажите разделитель и т. д. Есть ли какое-либо решение для равных значений для этого в C#?

ответ

1

Если вы хотите, чтобы получить результат такой же, как date('l') метод, вы можете использовать dddd format specifier с англо- (например: InvariantCulture);

DateTime.Now.ToString("dddd", CultureInfo.InvariantCulture); // Sunday 

или вы можете использовать DayOfWeek enumeration, не локализованный;

DateTime.Now.DayOfWeek // Sunday 

Если вы хотите, чтобы получить результат такой же, как date('h:i:s A') метод, вы можете использовать пользовательский формат даты и времени с InvariantCulture как;

DateTime.Now.ToString("hh:mm:ss tt", CultureInfo.InvariantCulture); 

Если вы хотите, чтобы получить результат, как 11-16/2014 (так как мы не знаем о вашей культуре) вы можете форматировать строку вытекания нравится сепаратор обеспечивает;

DateTime.Now.ToString("MM'-'dd'/'yyyy"); // 11-16/2014 

Помните, что "/" custom format specifier имеет особый смысл заменить меня с текущей датой культуры сепараторе. Если вы используете его без IFormatProvider, он заменит себя CurrentCultureDateSeparator.

0

Проверить http://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx

Вы можете в значительной степени формат это так, как вам нравится.

DateTime.Toay.ToString ("MM-dd/yy") должен делать трюк.

+0

Да, я сказал, что я это уже прочитал. Скажите, пожалуйста, что мне написать, чтобы получить дату сегодня в этом формате: 11-16/2014? – TN888

1

Вы можете сделать это:

Console.WriteLine("The current date and time: {0:MM/dd/yy H:mm:ss zzz}", 
       date); 
+0

и что такое 'date'? – TN888

+0

DateTime date = DateTime.Сейчас – GermanFighter

1

Что вам нужно DateTime.Now для текущего времени и ToString with a format string. Например, для вывода «11-16/2014» от текущего времени в этот день 16 ноября 2014:

DateTime.Now.ToString(@"MM-dd\/yyyy") 
+0

Это дает мне 11-16-2014, а не 11-16/2014, поскольку я исключен – TN888

+0

Да, я получал те же результаты, что и вы, когда пользовался польской культурой, но мой отредактированный ответ с «/» в качестве литерала теперь даст вам что ты хочешь. Это произошло потому, что «/» является спецификатором пользовательского формата в строке формата, как описано на странице MSDN, с которой я связан. Суть в том, чтобы научить человека ловить рыбу не дать ему рыбу :) –

+0

Активизированный ответ – TN888