gpt4 book ai didi

javascript - 可以使用日期 javascript 字符串吗?

转载 作者:行者123 更新时间:2023-11-29 22:07:49 25 4
gpt4 key购买 nike

我有一个实时跟踪本地时间的功能。我正在使用 new Date();对象获取本地的小时、分钟和秒。

我还希望用户提供一个函数必须在特定时间启动的输入。用户的输入是一个字符串(我不希望用户使用 Date(); 对象,因为并非所有用户都可以编程)。例如:

输入用户:
var timeStart = "10:08:30";
直播时间转字符串:
var sTime = todayHours + ':' + todayMinutes + ':' + todaySeconds;
当两者相等时:

if(sTime == timeStart )
{
//function when equals time
//This function has a timeout, so it will run infinite times
var timeOutId = setTimeout(function()
{
//call functie

}, 10000); //every 10 seconds as example
}

好吧,这项工作就好了。我只能比较字符串是否相同。但是让它更复杂一点:我还希望用户给出一个结束时间,什么时候必须停止运行:

输入用户:
var timeEnd = "11:08:30";
直播时间转字符串:
var sTime = todayHours + ':' + todayMinutes + ':' + todaySeconds;
当两者相等时:
if( sTime == timeEnd)
{
//function when equals time
//calls the timeout id and stops it
clearTimeout(timeOutId);
}

现在这工作正常!但是现在你知道我想要做什么我想知道我是否可以以某种方式做:
if(sTime >= timeStart && sTime <= timeEnd)
{
//timeout will only be set when it's in between the given time
setTimeout(function()
{
//call functie
}, 10000); //every 10 seconds as example
}

问题

我有一种方法可以将我的字符串时间(使用 2 位数字方法)转换为现有的日期时间,以便我可以按时进行比较?

我的时间只使用[小时、分钟和秒],这会导致问题,因为没有定义日期(年、月和日)。

我尝试使用 Momentjs,但它也拒绝仅使用小时、分钟和秒。或者我可能不知道如何做到这一点。

我想使用的方法似乎更容易,因为我不必定义何时取消 timeOut .

任何帮助表示赞赏!

P.s 我实际上只需要完成将字符串时间转换为 unix 时间戳 (当然也欢迎其他方法)。

最佳答案

不知道 moment.js 但您仍然可以使用基本的 parseInt 来提取时间,将其转换为整数,以便您可以将其与另一个进行比较:

function stringtime_to_seconds(aString){
var time,a = aString.split(":");
switch(a.length){
default: // 3 , you'll need to handle other cases
time = parseInt(a[0])*3600+parseInt(a[1])*60+parseInt(a[2]);
}
return time;
}

然后你可以比较日期。

关于javascript - 可以使用日期 javascript 字符串吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19949396/

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