Как я могу получить текущее время AM/AM в строку? А может быть, дата в числовой форме (01/02/09) в другую?
С#: Как получить текущее время в строке?
Ответ 1
Я просто хотел бы указать что-то в этих ответах. В строке формата даты/времени '/' будет заменен на любой разделитель дат пользователя, а ':' будет заменен любым временным разделителем времени. То есть, если я определил свой разделитель даты как '.' (в апплете панели управления "Язык и язык", "intl.cpl" ), а мой разделитель времени - "?" (просто притворись, что я такой сумасшедший), затем
DateTime.Now.ToString("MM/dd/yyyy h:mm tt")
вернет
01.05.2009 6?01 PM
В большинстве случаев это то, что вы хотите, потому что вы хотите соблюдать пользовательские настройки. Если, однако, вам требуется, формат будет чем-то конкретным (скажем, если он будет разбираться с кем-то другим по кабелю), вам нужно избежать этих специальных символов:
DateTime.Now.ToString("MM\\/dd\\/yyyy h\\:mm tt")
или
DateTime.Now.ToString(@"MM\/dd\/yyyy h\:mm tt")
который теперь вернет
01/05/2009 6:01 PM
ИЗМЕНИТЬ
И снова, если вы действительно хотите соблюдать пользовательские настройки, вы должны использовать одну из стандартных строк формата даты/времени, чтобы вы уважали не только пользовательские варианты разделителей, но также общий формат даты и/или времени.
DateTime.Now.ToShortDateString()
DateTime.Now.ToString("d")
Оба возвратили бы "1/5/2009", используя стандартные опции США или "05/01/2009", используя стандартные варианты Великобритании, например.
DateTime.Now.ToLongDateString()
DateTime.Now.ToString("D")
Оба вернутся "в понедельник, 5 января 2009 года" в США, или "05 января 2009 года" в Великобритании.
DateTime.Now.ToShortTimeString()
DateTime.Now.ToString("t");
"6:01 PM" в США, "18:01" в Великобритании.
DateTime.Now.ToLongTimeString()
DateTime.Now.ToString("T");
"6:01:04 PM" в США, "18:01:04" в Великобритании.
DateTime.Now.ToString()
DateTime.Now.ToString("G");
"1/5/2009 6:01:04 PM" в США, "05/01/2009 18:01:04" в Великобритании.
Доступны многие другие варианты. См. Docs для стандартных строк формата даты и времени и пользовательские строки формата даты и времени.
Ответ 2
Вы также можете использовать строки формата.
string time = DateTime.Now.ToString("hh:mm:ss"); // includes leading zeros
string date = DateTime.Now.ToString("dd/MM/yy"); // includes leading zeros
или некоторые ярлыки, если формат работает для вас
string time = DateTime.Now.ToShortTimeString();
string date = DateTime.Now.ToShortDateString();
Либо должны работать.
Ответ 3
DateTime.Now.ToString("h:mm tt") DateTime.Now.ToString("MM/dd/yyyy")
Вот несколько строк общего формата
Ответ 4
Будьте внимательны при обращении к DateTime.Now дважды, так как это возможно для звонков в полночь, и вы получите нелепые результаты в редких случаях и останетесь царапать голову.
Чтобы быть в безопасности, вы должны сначала назначить DateTime.Now локальной переменной, если вы собираетесь использовать ее более одного раза:
var now = DateTime.Now;
var time = now.ToString("hh:mm:ss tt");
var date = now.ToString("MM/dd/yy");
Обратите внимание, что использование нижнего регистра "hh" показывает часы с 00-11 даже днем, а "tt" показывает AM/PM, как заданный вопрос. Если вы хотите 24-часовое время 00-23, используйте "HH".
Ответ 5
Способ получения системы Дата и время в одной строке
public static string GetTimeDate()
{
string DateTime = System.DateTime.Now.ToString("dd-MM-yyyy HH:mm:ss");
return DateTime;
}
sample OUTPUT :-16-03-2015 07:45:15
Ответ 6
string t = DateTime.Now.ToString("h/m/s tt");
string t2 = DateTime.Now.ToString("hh:mm:ss tt");
string d = DateTime.Now.ToString("MM/dd/yy");