# SoftBank Robotics documentation What's new in NAOqi 2.8?

# qi clock API

## Introduction

Libqi provides C++ types to model clocks, time points and durations. See qi clocks for an overview of the clocks.

The functions to get the current time of these clocks are also available in python. They return an integer number of nanoseconds.

You can use `qi.systemClockNow()` as a substitute for python’s `time.time()`:

    import qi
    import time

    fmt = "%a, %d %b %Y %H:%M:%S +0000"
    t_sec = time.time() # floating point
    print("current local time is: " + time.ctime(t_sec))

    t_nsec = qi.systemClockNow() # integer
    t_sec = t_nsec * 1e-9 # floating point
    print("current local time is: " + time.ctime(t_sec))

`qi.clockNow()` is mostly used for system-wide timestamps. Sometimes, you may need the timestamp as a pair of integers, counting seconds and microseconds, respectively. This can be done with:

    import qi

    t_usec = qi.clockNow()/1000
    timestamp = [t_usec/1000000, t_usec % 1000000]

`qi.steadyClockNow()` is useful when one needs to measure durations while being robust to system clock changes, as in

    import qi
    import time

    t0_msec = qi.steadyClockNow()/1000000
    time.sleep(0.5)
    t1_msec = qi.steadyClockNow()/1000000
    print("I slept during " + str(t1_msec - t0_msec) + " milliseconds")

## Reference

Glossary Site map Index Support Contact Legal Notices