Angular中如何将响应执行秒数转换为仅含秒的时间戳存储?
Angular中存储执行时长为秒级数值的解决方案
首先要明确:你提到的“仅存储对应秒数的时间戳”存在概念混淆——标准时间戳是从1970-01-01 UTC到某一具体时间点的毫秒/秒数,本质是时间点的标识;而你要存储的执行时长是时间段,直接存秒数的数值才是最合理的选择,没必要套时间戳的概念。
以下是具体实现步骤:
解析时长为数字
如果接口返回的是带单位的字符串(比如"20秒"),可以用正则提取数字部分:// 示例:从字符串中提取秒数 const durationResponse = "20秒"; const seconds = parseInt(durationResponse.match(/\d+/)?.[0] || '0', 10);如果接口直接返回数字类型的时长(比如20),直接使用该数值即可。
存入数据库
将解析得到的seconds数字直接存入数据库,建议把对应字段设为整数类型(如INT),不需要转换为Date对象或完整时间戳。
如果因特殊需求必须存成“仅对应秒数的时间戳”(即把时长当作从1970-01-01起始的秒数),也可以直接将秒数作为时间戳存储:
const timestamp = seconds; // 20秒对应的时间戳就是20
但这种方式会让数据语义模糊,不推荐使用。
内容的提问来源于stack exchange,提问作者Hold3n
相关产品推荐
相关产品推荐

