reference:
ros.org: rosbag/cookbook :
#!/usr/bin/env python3
import rospy
import rosbag
import sys
if sys.getdefaultencoding()!=
'utf-8'
:reload
(sys)
sys.setdefaultencoding(
'utf-8'
)bag_name =
'2020-08-12-12-48-42.bag'
#被修改的bag名
out_bag_name =
'out_2020-08-12-12-48-42.bag'
#修改後的bag名
dst_dir =
'/home/yinji/sda/bag_2020/'
#使用路徑
with rosbag.bag(dst_dir+out_bag_name,
'w')
as outbag:
stamp =
none
#topic:就是發布的topic msg:該topic在當前時間點下的message t:訊息記錄時間(非header)
##read_messages內可以指定的某個topic
for topic, msg, t in rosbag.bag(dst_dir+bag_name)
.read_messages():
if topic ==
'/gps'
: stamp = msg.header.stamp
#針對沒有header的檔案,使用上面幀數最高的topic(即:/gps)的時間戳
##因為read_messages是逐時間讀取,所以該方法可以使用
elif topic ==
'/image_stamp'
and stamp is
notnone
: outbag.write(topic, msg, stamp)
continue
#針對格式為header的topic
elif topic ==
'/image_time'
: outbag.write(topic, msg, msg.stamp)
continue
#針對一般topic
outbag.write(topic, msg, msg.header.stamp)
print
("finished"
)
解決時間戳轉Date型別時間的方法
在介面開發中遇到返回的時間格式為時間戳型別,可資料庫要求為date型別找了一些工具類在這裡總結一下。如下親測有效 第一步 建立工具類myutil把方法放到類中,如下方法可得到日期格式字串 public class myutil if format null format.isempty datefo...
獲取時間戳,幾個時間點的時間戳
最近的上上上乙個週日24點時間戳 threeweekago strtotime date y m d time 2 week date w time day 1 day 最近的上上乙個週日24點時間戳 twoweekago strtotime date y m d time 1 week date ...
何為時間戳?時間戳的由來
在網上收集到的,存好先。時間戳就是從1970年1月1日0時0分0秒到當前時間點的所有秒數。比如oracle的時間顯示,unix和linux系統的時間運算等,那為什麼選擇1970,而不選擇1900呢。接下來讓我們闡述它的由來。1.當32位計算機剛剛開始興起的時候,所謂的整數型intger型資料能表示的...