В дополнение к "strict": false
также добавить "noImplicitUseStrict": true
.
TypeScript сам добавит строгий режим, и это нужно отключить.
Как это сделать, уже здесь было сказано: предотвращение-использования-строгого-в-тексте
Вы можете сделать это, скомпилировав с - Параметр компилятора noImplicitUseStrict - добавьте «noImplicitUseStrict»: true к «compilerOptions» в файле tsconfig.json. Это предотвратит генерацию компилятором слова «строго по правилам».
BLOCKQUOTE>
Вы должны использовать комбинации gmtime
/ localtime
и timegm
/ указываете ей
. Это должно дать вам ортогональные инструменты для преобразования между struct tm
и time_t
.
Для UTC / GMT:
time_t t;
struct tm tm;
struct tm * tmp;
...
t = timegm(&tm);
...
tmp = gmtime(t);
Для местного времени:
t = mktime(&tm);
...
tmp = localtime(t);
Все tzset ()
устанавливает внутреннюю переменную часового пояса из переменной среды TZ
. Я не думаю, что это должно вызываться более одного раза.
Если вы пытаетесь конвертировать часовые пояса, вам следует изменить struct tm
tm_gmtoff .
If you need to worry about converting date/time with timezone rules, you might want to look into ICU.
Если в Windows у вас нет доступного timegm ():
struct tm *tptr;
time_t secs, local_secs, gmt_secs;
time( &secs ); // Current time in GMT
// Remember that localtime/gmtime overwrite same location
tptr = localtime( &secs );
local_secs = mktime( tptr );
tptr = gmtime( &secs );
gmt_secs = mktime( tptr );
long diff_secs = long(local_secs - gmt_secs);
или чего-то подобного ...