Остановить TSLint, удаляя начальные пробелы в элементе HTML

Я думаю, что может быть более консолидированное усилие в ответ на лучшее объяснение взаимосвязи между модулем datetime Python, datetime64 / timedelta64 numpy и объектами Timestamp / Timedelta pandas.

Стандартная библиотека datetime для Python

Стандартная библиотека datetime имеет четыре основных объекта

  • время - только время, измеренное в часах, минутах, секундах и микросекундах
  • дата - только год , месяц и день
  • datetime - все компоненты времени и даты
  • timedelta - количество времени с максимальной единицей дней

Создайте эти четыре объекта

>>> import datetime
>>> datetime.time(hour=4, minute=3, second=10, microsecond=7199)
datetime.time(4, 3, 10, 7199)

>>> datetime.date(year=2017, month=10, day=24)
datetime.date(2017, 10, 24)

>>> datetime.datetime(year=2017, month=10, day=24, hour=4, minute=3, second=10, microsecond=7199)
datetime.datetime(2017, 10, 24, 4, 3, 10, 7199)

>>> datetime.timedelta(days=3, minutes = 55)
datetime.timedelta(3, 3300)

>>> # add timedelta to datetime
>>> datetime.timedelta(days=3, minutes = 55) + \
    datetime.datetime(year=2017, month=10, day=24, hour=4, minute=3, second=10, microsecond=7199)
datetime.datetime(2017, 10, 27, 4, 58, 10, 7199)

Объекты datetime64 и timedelta64 NumPy

NumPy не имеет отдельных объектов даты и времени, а всего лишь один объект datetime64 для представления одного момента времени. Объект datetime модуля datetime имеет точность в микросекундах (одна миллионная часть секунды). Объект datetime64 NumPy позволяет задавать свою точность от часов до атсосекунд (10 ^ -18). Конструктор более гибкий и может принимать различные входы.

Создавать объекты datetime64 и timedelta64 NumPy [gg]

Передавать целое число со строкой для единиц. Просмотреть все единицы здесь . Он преобразуется во многие единицы после эпохи UNIX: 1 января 1970 г.

>>> np.datetime64(5, 'ns') 
numpy.datetime64('1970-01-01T00:00:00.000000005')

>>> np.datetime64(1508887504, 's')
numpy.datetime64('2017-10-24T23:25:04')

Вы также можете использовать строки, если они находятся в формате ISO 8601.

>>> np.datetime64('2017-10-24')
numpy.datetime64('2017-10-24')

Timedeltas имеют единственную единицу

>>> np.timedelta64(5, 'D') # 5 days
>>> np.timedelta64(10, 'h') 10 hours

Можно также создать их путем вычитания двух объектов datetime64

>>> np.datetime64('2017-10-24T05:30:45.67') - np.datetime64('2017-10-22T12:35:40.123')
numpy.timedelta64(147305547,'ms')

Pandas Timestamp и Timedelta построить гораздо больше функциональности поверх NumPy

Временная метка pandas - это момент времени, очень похожий на дату и время, но с гораздо большей функциональностью. Вы можете построить их с помощью pd.Timestamp или pd.to_datetime.

>>> pd.Timestamp(1239.1238934) #defautls to nanoseconds
Timestamp('1970-01-01 00:00:00.000001239')

>>> pd.Timestamp(1239.1238934, unit='D') # change units
Timestamp('1973-05-24 02:58:24.355200')

>>> pd.Timestamp('2017-10-24 05') # partial strings work
Timestamp('2017-10-24 05:00:00')

pd.to_datetime работает очень аналогично (с несколькими дополнительными параметрами) и может преобразовать список строк в отметки времени.

>>> pd.to_datetime('2017-10-24 05')
Timestamp('2017-10-24 05:00:00')

>>> pd.to_datetime(['2017-1-1', '2017-1-2'])
DatetimeIndex(['2017-01-01', '2017-01-02'], dtype='datetime64[ns]', freq=None)

Преобразование даты и времени Python в datetime64 и Timestamp

>>> dt = datetime.datetime(year=2017, month=10, day=24, hour=4, 
                   minute=3, second=10, microsecond=7199)
>>> np.datetime64(dt)
numpy.datetime64('2017-10-24T04:03:10.007199')

>>> pd.Timestamp(dt) # or pd.to_datetime(dt)
Timestamp('2017-10-24 04:03:10.007199')

Преобразование numpy datetime64 в datetime и временную метку

>>> dt64 = np.datetime64('2017-10-24 05:34:20.123456')
>>> unix_epoch = np.datetime64(0, 's')
>>> one_second = np.timedelta64(1, 's')
>>> seconds_since_epoch = (dt64 - unix_epoch) / one_second
>>> seconds_since_epoch
1508823260.123456

>>> datetime.datetime.utcfromtimestamp(seconds_since_epoch)
>>> datetime.datetime(2017, 10, 24, 5, 34, 20, 123456)

Преобразование в метку времени

>>> pd.Timestamp(dt64)
Timestamp('2017-10-24 05:34:20.123456')

Преобразовать с Timestamp в datetime и datetime64

Это довольно просто, поскольку временные метки pandas очень мощные

>>> ts = pd.Timestamp('2017-10-24 04:24:33.654321')

>>> ts.to_pydatetime()   # Python's datetime
datetime.datetime(2017, 10, 24, 4, 24, 33, 654321)

>>> ts.to_datetime64()
numpy.datetime64('2017-10-24T04:24:33.654321000')

1
задан R. Richards 17 January 2019 в 11:19
поделиться

1 ответ

Это не TSLint - это, вероятно, средство форматирования HTML по умолчанию в VS Code. Скорее всего, для formatOnSave установлено значение true, вы можете отключить его полностью или для определенных типов файлов:

"editor.formatOnSave": true
  "[html]": {
    "editor.formatOnSave": false
}

Однако я бы порекомендовал проверить Prettier , недавно они выпустили безумно мощный / настраиваемый HTML форматер.

0
ответ дан hevans900 17 January 2019 в 11:19
поделиться
Другие вопросы по тегам:

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