Время Unix Python не работает в JavaScript

Quick and Dirty

Если у вас есть только один файл, использующий require, или вы делаете это для демонстрационных целей, вы можете определить require в верхней части вашего файла TypeScript.

declare var require: any

TypeScript 2.x

Если вы используете TypeScript 2.x, вам больше не нужно устанавливать типизированные или однозначно набранные. Просто установите следующий пакет.

npm install @types/node --save-dev

Файлы будущего декларации (15.06.2016)

Такие инструменты, как Typings и TSD, будут продолжать работать, и мы будем работать вместе эти общины, чтобы обеспечить плавный переход.

ДОПОЛНИТЕЛЬНО: Если вы указываете typeroots или types в своем tsconfig.json. Возможно, вам придется обновить tsconfig.json, чтобы включить узел в качестве типа. По умолчанию любой пакет в @types уже включен в вашу сборку , если вы не указали ни одну из этих опций. Подробнее

Ниже приведена правильная конфигурация для каждого из этих параметров.

{
    "compilerOptions": {
        // types option has been previously configured
         "types": [
            // add node as an option
            "node"
         ],
         // typeRoots option has been previously configured
         "typeRoots": [
            // add path to @types
            "node_modules/@types"
         ]
    }
}

TypeScript 1.x

Используя наборы (замена DefiniteTyped), вы можете указать определение непосредственно из репозитория GitHub.

Установить наборы

npm install typings -g --save-dev

Установить определение типа requireJS из репозитория DefintelyType

typings install dt~node --save --global

Webpack

Если вы используете Webpack в качестве инструмента сборки, вы можете включить типы веб-пакетов.

npm install --save-dev @ types / webpack-env

Обновите свой tsconfig.json следующим образом в compilerOptions:

"types": [
      "webpack-env"
    ]

Это позволяет вам сделать require.ensure и другие специальные функции Webpack.

Angular CLI

С помощью CLI вы можете выполнить вышеуказанный шаг Webpack и добавить блок «types» в свой tsconfig.app.json.

В качестве альтернативы, вы можете использовать предустановленные node типы. Имейте в виду, что в ваш клиентский код будут включены дополнительные типы, которые на самом деле недоступны.

"compilerOptions": {
    // other options
    "types": [
      "node"
    ]
  }
6
задан rick 3 July 2009 в 00:55
поделиться

4 ответа

timegm основан на Метод Unix gmtime () , который возвращает секунды с 1 января 1970 года.

Javascripts метод setTime () отсчитывает миллисекунды с этой даты. Вам нужно будет умножить количество секунд на 1000, чтобы преобразовать в формат, ожидаемый Javascript.

11
ответ дан 8 December 2019 в 05:57
поделиться

Вот несколько методов Python, которые я использую для преобразования в javascript / datetime и обратно.

def to_datetime(js_timestamp):
    return  datetime.datetime.fromtimestamp(js_timestamp/1000)

def js_timestamp_from_datetime(dt):
    return 1000 * time.mktime(dt.timetuple())

В javascript вы бы сделали:

var dt = new Date();
dt.setTime(js_timestamp);
8
ответ дан 8 December 2019 в 05:57
поделиться

Не путаете ли вы секунды с 1970 года с миллисекундами с 1970 года?

2
ответ дан 8 December 2019 в 05:57
поделиться

JavaScript Конструктор даты работает с миллисекундами, вам следует умножить время Unix Python на 1000.

var unixTimestampSeg = 1247793660;
var date = new Date(unixTimestampSeg*1000);
1
ответ дан 8 December 2019 в 05:57
поделиться
Другие вопросы по тегам:

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