Если вы хотите узнать статус возврата команды и получить весь вывод stdout
, вы можете использовать exec
:
$command = 'ls';
exec($command, $out, $status);
$out
представляет собой массив всех строк. $status
- статус возврата. Очень полезно для отладки.
Если вы также хотите видеть выход stderr
, вы можете играть с proc_open или просто добавить 2>&1
к своему $command
. Последнее часто бывает достаточно для того, чтобы заставить вещи работать и быстрее «внедрять».
Версия с открытым исходным кодом (лицензия 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);
Это делает задание:
#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
Если вы не хотите переносить какой-либо код или запрещать ускорение вашего проекта, вы можете сделать это:
sscanf
struct tm
(вычтите 1 из месяца и 1900 из года - месяцы равны 0-11, а годы начинаются в 1900 году) mktime
, чтобы получить эпоху UTC integer Просто не забудьте установить для члена isdst
структуры struct tm
значение -1, иначе у вас возникнут проблемы с переходом на летнее время.