Строка Javascript для C # timespan [дубликат]

Простыми словами это происходит потому, что в python все работает по ссылке, поэтому, когда вы создаете список списков таким образом, вы в основном получаете такие проблемы.

Чтобы решить вашу проблему, вы можете сделать либо один из них: 1. Используйте документацию numpy array для numpy.empty 2. Добавьте список, когда вы попадаете в список. 3. Вы также можете использовать словарь, если хотите

15
задан VAAA 23 June 2014 в 15:55
поделиться

4 ответа

Правильно, что это сработает:

TimeSpan time = TimeSpan.Parse("07:35");

И если вы используете его для проверки ...

TimeSpan time;
if (!TimeSpan.TryParse("07:35", out time))
{
    // handle validation error
}

Учтите, что TimeSpan в первую очередь предназначен для работайте с истекшим временем, а не временем дня. Он будет принимать значения, превышающие 24 часа, и также примет отрицательные значения.

Если вам нужно проверить, что входная строка является допустимым временем дня (> = 00:00 и & lt; 24:00), тогда вы должны рассмотреть это вместо:

DateTime dt;
if (!DateTime.TryParseExact("07:35", "HH:mm", CultureInfo.InvariantCulture, 
                                              DateTimeStyles.None, out dt))
{
    // handle validation error
}
TimeSpan time = dt.TimeOfDay;

В качестве дополнительного преимущества это также будет анализировать 12-часовое форматированное время, когда AM или PM включены, если вы предоставите соответствующую строку формата, например "h:mm tt".

58
ответ дан Matt Johnson 20 August 2018 в 15:35
поделиться
  • 1
    DateTime.TryParse работает довольно медленно, DateTime.TryParseExact быстрее. Мое понимание - TryParse пробует набор шаблонов, чтобы увидеть, если какое-либо совпадение, если формат, который вы используете, находится внизу этого списка, его существенные накладные расходы, которые легко избежать – Joe 30 June 2014 в 20:20
  • 2
    Я не могу разобрать время более 24 часов – alansiqueira27 16 August 2018 в 15:59
  • 3
    – Matt Johnson 16 August 2018 в 16:48

Используйте TimeSpan.Parse для преобразования строки

http://msdn.microsoft.com/en-us/library/system.timespan.parse (v = vs.110). ASPX

2
ответ дан Adrian 20 August 2018 в 15:35
поделиться

Попробуйте

    var ts = TimeSpan.Parse(stringTime);

С новым .NET у вас также есть

    TimeSpan ts;

    if(!TimeSpan.TryParse(stringTime, out ts)){
         // throw exception or whatnot
    }
    // ts now has a valid format

. Это общая идиома для синтаксического анализа строк в .NET с первой версией обработки ошибочной строки , вытесняя FormatException, а последнее позволяет Boolean TryParse напрямую предоставить вам информацию.

2
ответ дан faester 20 August 2018 в 15:35
поделиться

Вы можете преобразовать время, используя следующий код.

TimeSpan _time = TimeSpan.Parse("07:35");

Но если вы хотите получить текущее время дня, вы можете использовать следующий код:

TimeSpan _CurrentTime = DateTime.Now.TimeOfDay;

Результат будет:

03:54:35.7763461

С помощью объекта cantain Hours, Minutes, Seconds, Ticks и т. д.

0
ответ дан Muhammad Awais 20 August 2018 в 15:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: