Как эффективно печатать только дату и время (не секунды) в C #? - PullRequest
3 голосов
/ 13 марта 2012

Я использую свойство LastWriteTime для файла, который я использую, чтобы напечатать время последнего изменения. Тем не менее, здесь, когда я использую, я получаю значение как

"12.02.2011 11:58:45".

(i) Можете ли вы помочь игнорировать секунды здесь, означая, что результат должен быть таким: 02.12.2011 11:58

(ii) Кроме того, как мне обеспечить, чтобы я позаботился о часовых поясах, как в файле LastWriteTime, как и в других временных параметрах GEO. Можете ли вы помочь позаботиться об этом?

(iii) Кроме того, как позаботиться о проблемах Культуры здесь, поскольку CurrentCulture будет отличаться для машин?

Ответы [ 2 ]

4 голосов
/ 13 марта 2012

Шаблоны для DateTime.ToString ('g'):

0    MM/dd/yyyy HH:mm    08/22/2006 06:30

1    MM/dd/yyyy hh:mm tt 08/22/2006 06:30 AM

2    MM/dd/yyyy H:mm     08/22/2006 6:30

3    MM/dd/yyyy h:mm tt  08/22/2006 6:30 AM

Источник: DateTime.ToString Patterns

1 голос
/ 13 марта 2012

Вы можете использовать формат g для представления желаемой даты:

 string date = File.GetLastWriteTime("file").ToString("g");

Что касается TimeZone, DateTime не содержит релевантной TimeZone информации.Вы должны справиться с этим самостоятельно.

Может быть, это вам поможет: http://hashfactor.wordpress.com/2009/02/02/c-parsing-datetime-with-timezone/

...