C 从字符串hhmmss中提取历元时间(Unix时间)

C 从字符串hhmmss中提取历元时间(Unix时间),c,string,time,epoch,gps-time,C,String,Time,Epoch,Gps Time,我需要从字符串(从GPS接收)获取历元时间来设置RTC。 从全球定位系统我有一个字符串,如: *时间串=122347,其他东西,其他东西。,其他东西。。。。 其中12=hh,23=mm,47=ss 我需要把这些时间数转换成标准的历元时间,即 epochTime=1583504713 我该怎么做?(我知道要正确获得Unix时间,我还需要月、年和日;我已经将所有这些信息保存在int变量中)。 谢谢大家;) 戴夫你不能将小时转换为纪元,这没有意义。。。你怎么知道今天是哪一天?Gps时间由周数和周内时间

我需要从字符串(从GPS接收)获取历元时间来设置RTC。 从全球定位系统我有一个字符串,如:

*时间串=122347,其他东西,其他东西。,其他东西。。。。 其中12=hh,23=mm,47=ss

我需要把这些时间数转换成标准的历元时间,即

epochTime=1583504713

我该怎么做?(我知道要正确获得Unix时间,我还需要月、年和日;我已经将所有这些信息保存在int变量中)。 谢谢大家;)


戴夫

你不能将小时转换为纪元,这没有意义。。。你怎么知道今天是哪一天?Gps时间由周数和周内时间组成。我猜您正在接收GGA,不要使用它,使用rmcy您可能想查看
timegm()
mktime()
。用值填充
struct tm
,然后调用其中一个函数来获取unix时间戳。@Ctx您可以,但我认为结果不准确。因为UTC闰秒。GPS时间没有考虑闰秒(最近它已经超限)。@KamilCuk什么让你认为这些都没有考虑?@KamilCuk GPS时间没有,unix时间戳没有,看起来我们这里有一个匹配