Skip to content

Commit 673a67e

Browse files
committed
add in datetime version of rec info
1 parent 9111768 commit 673a67e

File tree

1 file changed

+20
-1
lines changed

1 file changed

+20
-1
lines changed

neo/rawio/neuronexusrawio.py

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
from __future__ import annotations
3737
from pathlib import Path
3838
import json
39+
import datetime
3940

4041
import numpy as np
4142

@@ -218,7 +219,25 @@ def _parse_header(self):
218219
# Add the minimum annotations
219220
self._generate_minimal_annotations()
220221

221-
self.header['rec_datetime'] = self.metadata['status']['start_time']
222+
# date comes out as:
223+
# year-month-daydayofweektime all as a string so we need to prep it for
224+
# entering into datetime
225+
# example: '2024-07-01T13:04:49.4972245-04:00'
226+
stringified_date_list = self.metadata['status']['start_time'].split('-')
227+
year = int(stringified_date_list[0])
228+
month = int(stringified_date_list[1])
229+
day = int(stringified_date_list[2][:2]) # day should be first two digits of the third item in list
230+
time_info = stringified_date_list[2].split(':')
231+
hour = int(time_info[0][-2:])
232+
minute = int(time_info[1])
233+
second = int(time_info[2])
234+
microsecond = 1000 * 1000 * (float(time_info[2]) - second) # second -> micro is 1000 * 1000
235+
236+
rec_datetime = datetime.datetime(year, month, day, hour, minute, second, microsecond)
237+
bl_annotations = self.raw_annotations["blocks"][0]
238+
seg_annotations = bl_annotations["segments"][0]
239+
for d in (bl_annotations, seg_annotations):
240+
d["rec_datetime"] = rec_datetime
222241

223242
def _get_signal_size(self, block_index, seg_index, stream_index):
224243

0 commit comments

Comments
 (0)