7200 "0.5h" => 1800 ".5-6ren">
gpt4 book ai didi

javascript - 人类可读的时间解析器

转载 作者:行者123 更新时间:2023-12-02 16:21:01 25 4
gpt4 key购买 nike

是否有任何插件可以将各种格式的时间转换为可以存储在数据库中的整数值(秒)?

示例:

  • “30m” => 1800
  • “30” => 1800
  • "2h" => 7200
  • "0.5h" => 1800
  • ".5h" => 1800
  • “1” => 60

如果没有后缀,数字应解析为分钟。

最佳答案

你可以尝试这样的事情:

function parseToSeconds(timeString){
var seconds = parseFloat(timeString);
if(timeString.indexOf("m") != -1){
seconds *= 60;
}
if(timeString.indexOf("h") != -1){
seconds *= 3600;
}
return seconds;
}

alert("1: " + parseToSeconds("1") + "\n" +
"1m: " + parseToSeconds("1m") + "\n" +
"1h: " + parseToSeconds("1h") + "\n" +
"1.5: " + parseToSeconds("1.5") + "\n" +
"1.5m: " + parseToSeconds("1.5m") + "\n" +
"1.5h: " + parseToSeconds("1.5h"));

这将正确转换您的大部分示例。但是,如果没有指定“格式”30,例如,它将假定字符串已经以秒为单位。

如果您想将参数解释为分钟,如果没有后缀,您可以这样做:

function parseToSeconds(timeString){
var seconds = parseFloat(timeString);
if(timeString.indexOf("h") != -1){
return seconds * 3600;
}
return seconds * 60;
}

如果字符串包含h,则根据过去的小时计算秒数。否则,始终假设“分钟”。

关于javascript - 人类可读的时间解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29119328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com