def _convert_string_to_timestamp(ts_str): """ Converts the given string from this data stream's format into an NTP timestamp. @param ts_str The timestamp string in the format "yyyy/mm/dd hh:mm:ss.sss" @retval The NTP4 timestamp """ match = LOG_TIME_MATCHER.match(ts_str) if not match: raise ValueError("Invalid time format: %s" % ts_str) zulu_ts = "%04d-%02d-%02dT%02d:%02d:%fZ" % ( int(match.group(1)), int(match.group(2)), int(match.group(3)), int(match.group(4)), int(match.group(5)), float(match.group(6))) log.trace("converted ts '%s' to '%s'", ts_str[match.start(0):(match.start(0) + 24)], zulu_ts) format = "%Y-%m-%dT%H:%M:%S.%fZ" dt = datetime.strptime(zulu_ts, format) unix_timestamp = calendar.timegm( dt.timetuple()) + (dt.microsecond / 1000000.0) ntptime = ntplib.system_to_ntp_time(unix_timestamp) log.trace("Converted time \"%s\" (unix: %s) into %s", ts_str, unix_timestamp, ntptime) return ntptime
def _convert_string_to_timestamp(ts_str): """ Converts the given string from this data stream's format into an NTP timestamp. @param ts_str The timestamp string in the format "yyyy/mm/dd hh:mm:ss.sss" @retval The NTP4 timestamp """ match = LOG_TIME_MATCHER.match(ts_str) if not match: raise ValueError("Invalid time format: %s" % ts_str) zulu_ts = "%04d-%02d-%02dT%02d:%02d:%fZ" % ( int(match.group(1)), int(match.group(2)), int(match.group(3)), int(match.group(4)), int(match.group(5)), float(match.group(6)) ) log.trace("converted ts '%s' to '%s'", ts_str[match.start(0):(match.start(0) + 24)], zulu_ts) format = "%Y-%m-%dT%H:%M:%S.%fZ" dt = datetime.strptime(zulu_ts, format) unix_timestamp = calendar.timegm(dt.timetuple()) + (dt.microsecond / 1000000.0) ntptime = ntplib.system_to_ntp_time(unix_timestamp) log.trace("Converted time \"%s\" (unix: %s) into %s", ts_str, unix_timestamp, ntptime) return ntptime
def _convert_string_to_timestamp(ts_str): """ Converts the given string from this data stream's format into an NTP timestamp. @param ts_str The timestamp string in the format "yyyy/mm/dd hh:mm:ss.sss" @retval The NTP4 timestamp """ match = LOG_TIME_MATCHER.match(ts_str) if not match: raise ValueError("Invalid time format: %s" % ts_str) zulu_ts = "%04d-%02d-%02dT%02d:%02d:%fZ" % ( int(match.group(1)), int(match.group(2)), int(match.group(3)), int(match.group(4)), int(match.group(5)), float(match.group(6)) ) log.trace("converted ts '%s' to '%s'", ts_str[match.start(0):(match.start(0) + 24)], zulu_ts) converted_time = float(parser.parse(zulu_ts).strftime("%s.%f")) adjusted_time = converted_time - time.timezone ntptime = ntplib.system_to_ntp_time(adjusted_time) log.trace("Converted time \"%s\" (unix: %s) into %s", ts_str, adjusted_time, ntptime) return ntptime