strptime () эквивалентный в Windows?

Если вы хотите узнать статус возврата команды и получить весь вывод stdout, вы можете использовать exec:

$command = 'ls';
exec($command, $out, $status);

$out представляет собой массив всех строк. $status - статус возврата. Очень полезно для отладки.

Если вы также хотите видеть выход stderr, вы можете играть с proc_open или просто добавить 2>&1 к своему $command. Последнее часто бывает достаточно для того, чтобы заставить вещи работать и быстрее «внедрять».

37
задан An̲̳̳drew 26 November 2008 в 19:33
поделиться

3 ответа

Версия с открытым исходным кодом (лицензия BSD) strptime() может быть найдена здесь: http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libc/time/strptime.c?rev=HEAD

необходимо будет добавить следующее объявление для использования его:

char *strptime(const char * __restrict, const char * __restrict, struct tm * __restrict);
19
ответ дан Adam Rosenfield 10 October 2019 в 08:50
поделиться

Это делает задание:

#include "stdafx.h"
#include "boost/date_time/posix_time/posix_time.hpp"
using namespace boost::posix_time;

int _tmain(int argc, _TCHAR* argv[])
{
    std::string ts("2002-01-20 23:59:59.000");
    ptime t(time_from_string(ts));
    tm pt_tm = to_tm( t );

Уведомление, однако, что входная строка является YYYY-MM-DD

13
ответ дан ravenspoint 10 October 2019 в 08:50
поделиться

Если вы не хотите переносить какой-либо код или запрещать ускорение вашего проекта, вы можете сделать это:

  1. проанализировать дату с помощью sscanf
  2. , затем скопировать целые числа в структуру struct tm (вычтите 1 из месяца и 1900 из года - месяцы равны 0-11, а годы начинаются в 1900 году)
  3. наконец, используйте mktime , чтобы получить эпоху UTC integer

Просто не забудьте установить для члена isdst структуры struct tm значение -1, иначе у вас возникнут проблемы с переходом на летнее время.

30
ответ дан 27 November 2019 в 03:29
поделиться
Другие вопросы по тегам:

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