我想得到两次之间的差异。第一个是我使用javascript日期对象的当前时间对象new Date()
而第二个是像“20:30”这样的字符串。 因此,假设,如果目前的时间是18:00,然后我只是想这样的“2小时30分钟离开了差异。 感谢任何类型的帮助。如何获得两次差异?
回答
最简单的就是使用该库moment.js它能够处理时间/ 。日期操纵以及
有没有什么办法可以做到这一点使用可用的JavaScript日期函数? –
@SKJajoriya是的,你可以用'Date'来解析日期,如果你想要看这个主题,例如: http://stackoverflow.com/questions/5619202/converting-string-to-date-in-js 而只是比较两个日期,并获得差异。 – rymdmaskin
尝试象下面这样:
var date1 = new Date(2000, 0, 1, 20, 30);
var date2 = new Date(2000, 0, 1, 18, 0);
var diff = date1-date2;//milli seconds
var min = diff/1000/60;
var r = min % 1;
var h=min/60;
var sec = Math.floor(r * 60);
if (sec < 10) {
sec = '0'+sec;
}
alert(min+'-'+ sec);
您可以使用Date.Parse()
函数的字符串,如Date.parse("1970 1 1 20:30")
得到一个javascript日期时间,然后按照有关如何获取的时间差betwe this post两个JavaScript日期对象。
希望这会有所帮助!
利用Date
对象中可用的函数。
var origTime = '20:30'.split(':');
var dateA = new Date();
dateA.setHours(origTime[0]);
dateA.setMinutes(origTime[1]);
var dateB = new Date();
var hourDiff = Math.abs(dateA - dateB)/36e5;
下面是你可以只使用香草的js做到这一点:
var compareDate = new Date();
var timeParts = "20:30".split(":");
compareDate.setHours(Number(timeParts[0]));
compareDate.setMinutes(Number(timeParts[0]));
compareDate.setSeconds(0);
compareDate.setMilliseconds(0);
var diff = compareDate - new Date();
var diffInMinutes = Math.floor(diff/1000/60);
var hours = Math.floor(diffInMinutes/60);
var minutes = diffInMinutes % 60;
hours + " hours and " + minutes + " minutes left";
我们是“正常化”秒和毫秒将它们设置为0,否则他们会不管他们是当new Date()
被调用。
$(document).ready(function() {
function calculateTime() {
var valuestop = $("select[name='timestop']").val();
var timeStart = new Date().getTime();//current time
var timeEnd = new Date(new Date().toJSON().slice(0, 10).replace(/-/g, '/') + ' ' + valuestop).getTime();//selected time
console.log(timeStart + ' ' + timeEnd);
var hourDiff = timeEnd - timeStart; //in ms
var secDiff = hourDiff/1000; //in s
var minDiff = hourDiff/60/1000; //in minutes
var hDiff = hourDiff/3600/1000; //in hours
var humanReadable = {};
humanReadable.hours = Math.floor(hDiff);
humanReadable.minutes = Math.round(minDiff - 60 * humanReadable.hours);
console.log(humanReadable); //{hours: 0, minutes: 30}
$("p").html("Difference: <b>Hours: </b>" + humanReadable.hours + "<b>Minutes: </b>" + humanReadable.minutes);
}
$("select").change(calculateTime);
calculateTime();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="timestop">
<option value="00:00:00">12:00 am</option>
<option value="01:00:00">1:00 am</option>
<option value="02:00:00">2:00 am</option>
<option value="03:00:00">3:00 am</option>
<option value="04:00:00">4:00 am</option>
<option value="05:00:00">5:00 am</option>
<option value="06:00:00">6:00 am</option>
<option value="07:00:00">7:00 am</option>
<option value="08:00:00">8:00 am</option>
<option value="09:00:00">9:00 am</option>
<option value="10:00:00">10:00 am</option>
<option value="11:00:00">11:00 am</option>
<option value="12:00:00">12:00 pm</option>
<option value="13:00:00">1:00 pm</option>
<option value="14:00:00">2:00 pm</option>
<option value="15:00:00">3:00 pm</option>
<option value="16:00:00">4:00 pm</option>
<option value="17:00:00">5:00 pm</option>
<option value="18:00:00">6:00 pm</option>
<option value="19:00:00">7:00 pm</option>
<option value="20:00:00">8:00 pm</option>
<option value="21:00:00">9:00 pm</option>
<option value="22:00:00">10:00 pm</option>
<option value="23:00:00">11:00 pm</option>
</select>
<p> </p>
- 1. 詹金斯 - 如何获得两次运行之间的差异
- 2. 如何用格式(hr:min:sec)获得两次差异
- 3. 如何计算两次差异?
- 4. 获取两次差异(Unix时代)
- 5. 获得两次给定时间之间的差异
- 6. 获得两个表之间的差异?
- 7. 获得两行之间的差异并填充差异值
- 8. 两次之间的差异
- 9. 两次回声差异
- 10. 如何在同一天内获得两次时差?
- 11. 如何获得R中两个集合的差异?
- 12. 如何获得两个稀疏矩阵的集合差异?
- 13. 如何获得Python中的两个PDF文件的差异?
- 14. 如何获得两个数据表之间的差异
- 15. 如何获得两个日期之间的差异与DQL
- 16. 如何获得两个日期之间的差异?
- 17. 如何获得两个时间戳之间的差异
- 18. 如何获得两行之间的差异
- 19. 如何获得MongoDB中两个字段的差异总和?
- 20. 我如何在两个时间戳中获得差异
- 21. 如何减去两个日期和时间来获得差异
- 22. 如何获得两个日期之间的星期差异
- 23. 如何获得两个日期时间差异
- 24. Android如何获得两个位图之间的快速差异
- 25. 如何获得两个日期之间的差异?
- 26. 如何获得PHP中两个日期之间的差异?
- 27. 如何获得两个日期之间的差异?
- 28. 如何在JavaScript中获得差异btw两个数组?
- 29. 如何获得两个日期之间的差异与时序
- 30. 如何在几小时内获得两个日期的差异?
我想你可以在这里阅读问题。 [date-diff-javascript](http://stackoverflow.com/questions/34386175/date-diff-javascript) – dawnfly
[检查Javascript中的时间差异]的可能重复(http://stackoverflow.com/questions/1787939/check-time-in-javascript) – mehulmpt