utils.cpp 679 B

1234567891011121314151617181920212223242526272829
  1. /*
  2. * Copyright (c) 2006-2021, RT-Thread Development Team
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. *
  6. * Change Logs:
  7. * Date Author Notes
  8. * 2021-04-27 flybreak the first version.
  9. */
  10. #include "__utils.h"
  11. #include <sys/time.h>
  12. tick_clock::time_point tick_clock::now()
  13. {
  14. tick_clock::rep cur_tk = clock();
  15. tick_clock::duration cur_time(cur_tk);
  16. return tick_clock::time_point(cur_time);
  17. }
  18. real_time_clock::time_point real_time_clock::now() noexcept
  19. {
  20. timespec tp;
  21. clock_gettime(CLOCK_REALTIME, &tp);
  22. return time_point(duration(std::chrono::seconds(tp.tv_sec))
  23. + std::chrono::nanoseconds(tp.tv_nsec));
  24. }