asp:textbox与Javascript的时差;onchange";
这里我需要一些帮助,我的表单中有三个asp:textbox与Javascript的时差;onchange";,javascript,c#,asp.net,Javascript,C#,Asp.net,这里我需要一些帮助,我的表单中有三个,我需要计算其中两个之间的时间差(并在第三个上设置差值) 我已经用回发完成了,它工作得很好,但我想从客户端完成(不需要回发)。这就是为什么我想知道是否有方法进行计算并用javascript在第三个文本框中显示值 有时我需要计算两个不同日期之间的时差。但是我不能在文本框中设置“日期” 我需要的格式是“HH:mm” 有人能帮我吗 编辑(代码添加): ASPX: C#: if(IsPostBack) { //检查该字段是否为空。如果为空,则流程不会启动。 如果(
,我需要计算其中两个之间的时间差(并在第三个上设置差值)
我已经用回发完成了,它工作得很好,但我想从客户端完成(不需要回发)。这就是为什么我想知道是否有方法进行计算并用javascript在第三个文本框中显示值
有时我需要计算两个不同日期之间的时差。但是我不能在文本框中设置“日期”
我需要的格式是“HH:mm”
有人能帮我吗
编辑(代码添加):
ASPX:
C#:
if(IsPostBack)
{
//检查该字段是否为空。如果为空,则流程不会启动。
如果(TBEnd1.Text!=“”)
{
DateTime Venticuatro1=DateTime.ParseExact(“23:59”,“HH:mm”,CultureInfo.InvariantCulture);
DateTime unminuto1=DateTime.ParseExact(“00:01”,“HH:mm”,CultureInfo.InvariantCulture);
日期时间inicio1;
inicio1=新的日期时间();
inicio1=DateTime.ParseExact(TBStart1.Text,“HH:mm”,CultureInfo.InvariantCulture);
日期时间fin1;
fin1=新的日期时间();
fin1=DateTime.ParseExact(TBEnd1.Text,“HH:mm”,CultureInfo.InvariantCulture);
//检查结束时间是否低于开始时间。这意味着间隔在两个不同的日期之间(例如:23:50到01:30)
如果(fin1
有些字段名是西班牙语的(Diferenceia、Duracointers等)。对此表示抱歉。它应该类似于:
$('#TBEnd1').on('change',function()
{
var start_time = $('#TBStart1').val();
var end_time = $('#TBEnd1').val();
var diff = new Date(end_time) - new Date( start_time);
$('#TBDuration1').val(diff);
}
下面的代码将获取文本格式的日期时间,并以小时和分钟为单位查找差异。我希望这将满足您的要求,或者至少将您推上正确的轨道 HTML 结果 2016-09-20 20:00:00 2016-09-23 20:31:00 时差:72:31 建议 Jquery提供了一种获取日期对象的简单方法“jQueryUIDateParser”,而不是像这样解析它,而是使用一个日期选择器
希望这有帮助,祝你好运最后,我找到了解决办法 我必须更改我的
代码如下:
脚本:
function HourDifference() {
start = document.getElementById("start").value;
end = document.getElementById("end").value;
startMinutes = parseInt(start.substr(3, 2));
startHours = parseInt(start.substr(0, 2));
endMinutes = parseInt(end.substr(3, 2));
endHours = parseInt(end.substr(0, 2));
minutesDiff = endMinutes - startMinutes;
hoursDiff = endHours - startHours;
if (minutesDiff < 0) {
hoursDiff --;
minutesDiff = 60 + minutesDiff;
}
if (minutesDiff < 10) {
minutesDiff = "0" + minutesDiff;
}
if (hoursDiff < 0) {
hoursDiff = 24 + hoursDiff;
}
hours = hoursDiff.toString();
minutes = minutesDiff.toString();
if (hours.length < 2) {
hours = "0" + hours;
}
if (minutes.length < 2) {
minutes = minutes + "0";
}
document.getElementById("difference").value = hours + ":" + minutes;
}
函数时差(){
开始=document.getElementById(“开始”).value;
end=document.getElementById(“end”).value;
startMinutes=parseInt(start.substr(3,2));
startHours=parseInt(start.substr(0,2));
endMinutes=parseInt(end.substr(3,2));
endHours=parseInt(end.substr(0,2));
minutesDiff=endMinutes-startMinutes;
hoursDiff=结束小时-开始时间;
如果(分钟差<0){
时差--;
分钟差=60+分钟差;
}
如果(分钟差<10){
minutesDiff=“0”+minutesDiff;
}
如果(小时差<0){
hoursDiff=24+hoursDiff;
}
小时=hoursDiff.toString();
分钟=分钟差分toString();
如果(小时长度<2){
小时数=“0”+小时数;
}
如果(分钟长度<2){
分钟数=分钟数+0;
}
document.getElementById(“差异”)。值=小时+“:”+分钟;
}
HTML:
这工作正常
重要:
输入格式应为“HH:mm”(如果上午1:00,则为01:00;如果下午1:00,则为13:00)。显示您的代码。您尝试了什么?此diff变量以毫秒为单位,因此您可能需要除以1000获得秒,我应该如何在文本框中实现它?最后一行“$('#TBDuration1').val(diff);”应将结果差异分配给结果文本框“TBDuration1”我已经尝试将脚本设置到母版页中的。没有任何更改。我应该将其设置到aspx表单中吗?如果是,我该怎么做?哇,谢谢!我明天会检查它,并让您知道它是否有效。我尝试了但没有成功。我需要每天输入开始-结束时间,因此我不能使用具有特定值的。
$('#TBEnd1').on('change',function()
{
var start_time = $('#TBStart1').val();
var end_time = $('#TBEnd1').val();
var diff = new Date(end_time) - new Date( start_time);
$('#TBDuration1').val(diff);
}
<div id="textBoxOne">
2016-09-20 20:00:00
</div>
<div id="textBoxTwo">
2016-09-23 20:31:00
</div>
<div id="ShowTimeBetweenDates">
</div>
var dateOne = document.getElementById("textBoxOne").innerHTML;
var dateTwo = document.getElementById("textBoxTwo").innerHTML;
var diff = (new Date(dateOne) - new Date(dateTwo))
var totalHours = Math.floor(Math.abs(diff/ 3600 / 1000));
var totalMinutes = Math.abs(((diff % 86400000) % 3600000) / 60000);
var showTimeDiff = document.getElementById("ShowTimeBetweenDates");
showTimeDiff.innerHTML = "Time Diff : " + totalHours + " : " + totalMinutes;
function HourDifference() {
start = document.getElementById("start").value;
end = document.getElementById("end").value;
startMinutes = parseInt(start.substr(3, 2));
startHours = parseInt(start.substr(0, 2));
endMinutes = parseInt(end.substr(3, 2));
endHours = parseInt(end.substr(0, 2));
minutesDiff = endMinutes - startMinutes;
hoursDiff = endHours - startHours;
if (minutesDiff < 0) {
hoursDiff --;
minutesDiff = 60 + minutesDiff;
}
if (minutesDiff < 10) {
minutesDiff = "0" + minutesDiff;
}
if (hoursDiff < 0) {
hoursDiff = 24 + hoursDiff;
}
hours = hoursDiff.toString();
minutes = minutesDiff.toString();
if (hours.length < 2) {
hours = "0" + hours;
}
if (minutes.length < 2) {
minutes = minutes + "0";
}
document.getElementById("difference").value = hours + ":" + minutes;
}
<p><input type="text" id="start" value=""/></p>
<p><input type="text" id="end" value="" onchange="HourDifference();" /></p>
<p><input type="text" id="difference" value="" /></p>