Часть Python секунд

Вы можете использовать fx:define и fx:reference , чтобы поместить элементы в List и в графе сцены и ввести список в контроллер:


   
        
        
            
            
            
        
    
    
        
            
                
                    
                        
                    
                
                
                    
                        
                    
                
            
        
        
        
        
        
    

Контроллер

@FXML
private List panes;

18
задан TimothyAWiseman 5 December 2009 в 00:40
поделиться

5 ответов

В модуле datetime классы datetime, time и timedelta имеют наименьшее разрешение микросекунд:

>>> from datetime import datetime, timedelta
>>> now = datetime.now()
>>> now
datetime.datetime(2009, 12, 4, 23, 3, 27, 343000)
>>> now.microsecond
343000

если вы хотите отображать дату и время с дробными секундами, просто вставьте десятичную точку и убирать конечные нули:

>>> now.strftime("%Y-%m-%d %H:%M:%S.%f").rstrip('0')
'2009-12-04 23:03:27.343'

классы datetime и time принимают только целочисленный ввод, а часы, минуты и секунды должны быть от 0 до 59, а микросекунды должны быть от 0 до 999999. Класс timedelta, однако, принимает значения с плавающей запятой с дроби и выполните всю правильную арифметику по модулю:

>>> span = timedelta(seconds=3662.567)
>>> span
datetime.timedelta(0, 3662, 567000)

Основные компоненты timedelta - это день, секунда и микросекунда (0, 3662, 567000 выше), но конструктор также принимает миллисекунды, часы и недели. Все входные данные могут быть целыми или плавающими (положительными или отрицательными). Все аргументы преобразуются в базовые единицы, а затем нормализуются так, чтобы 0 < = секунды <60 и 0 <= микросекунды <1000000.

Вы можете добавить или вычесть интервал к экземпляру даты и времени или времени или к другому интервалу. Поиграйте с этим, вы, вероятно, легко сможете придумать некоторые функции или классы, которые будут делать то, что вы хотите. Вероятно, вы могли бы выполнить всю обработку даты / времени, используя экземпляры timedelta относительно некоторого фиксированного datetime, скажем basetime = datetime (2000,1,1,0,0,0) , а затем преобразовать в datetime или время экземпляр для отображения или хранения.

32
ответ дан 30 November 2019 в 03:34
поделиться

Другое, не упомянутый подход, который я люблю:

from datetime import datetime
from time import sleep

t0 = datetime.now()
sleep(3)
t1 = datetime.now()
tdelta = t1 - t0
print(tdelta.total_seconds())
# will print something near (but not exactly 3)
# 3.0067
0
ответ дан 30 November 2019 в 03:34
поделиться

Чтобы получить лучший ответ, вам нужно указать свой вопрос дополнительно, но это должно показать, по крайней мере, как datetime может обрабатывать микросекунды :

>>> from datetime import datetime
>>> t=datetime.now()
>>> t.microsecond
519943
5
ответ дан 30 November 2019 в 03:34
поделиться

С какой целью? import time -> time.clock () возвращает текущее время в миллисекундах, поэтому его можно использовать для измерения времени с точностью до миллисекунды.

-1
ответ дан 30 November 2019 в 03:34
поделиться

NumPy 1.4 (in release candidate stage) has support for its own Date and DateArray objects. The one advantage is that it supports frequencies smaller than femtoseconds: http://projects.scipy.org/numpy/browser/trunk/doc/neps/datetime-proposal.rst

Otherwise I would go with the regular datetime subsecond frequencies.

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

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