преобразовать строку во время/секунды с помощью команды strptime

145
22 октября 2019, 00:00

Подскажите, можно ли получить секунды/время из строки с помощью команды strptime с произвольным форматом времени

Например, интересуют случаи, когда корректно бы распознавались такие форматы

str = "1m";
str = "2h5m10s";
str = "3m18s";
str = "57s";
str = "2h9s";

strptime("%Hh%Mm%Ss", string) выдает некорректный результат, кроме случая 1h2m3s

Answer 1

С помощью strptime не получится. Я бы предложил сделать так (python):

import re
def cnv(astr):
    tdict={"h":"00", "m":"00", "s":"00"}
    res = ""
    for elem in re.findall(r'(\d*)(\D)', astr):
        tdict[elem[1]] = elem[0].zfill(2)
    res=":".join([x for x in tdict.values()])
    return res

Проверяем:

print(cnv("1m"))
print(cnv("2h5m10s"))
print(cnv("3m18s"))
print(cnv("57s"))
print(cnv("2h9s"))

Получаем:

00:01:00
02:05:10
00:03:18
00:00:57
02:00:09
READ ALSO
Unit - тесты для C++ и Xcode [закрыт]

Unit - тесты для C++ и Xcode [закрыт]

Всем привет! Необходимо сделать Unit - тестыКакие тесты использовать для Xcode? Пробовал использовать Gtest но так и не смог их собрать, Xcode ругался...

148
Как установить opengl для visual studion 2017

Как установить opengl для visual studion 2017

только начал изучать c++, ну и начал натыкаться на проблемыПодскажите как установить openGl на vs2017 ? В интернете откопал либо видео 2013 года, либо...

146
Assertion failure sdl2 android

Assertion failure sdl2 android

Написал заготовку для игры для android на sdl2 и opengl opengl esПри запуске на android пишет такую ошибку

123