如何从javascript或jquery中的时间字符串中获取分钟数?
例如:如果我的输入时间是" 12:30 am"然后我的输出应该是750分钟。
答案 0 :(得分:3)
试试这个:
var time="12:30 am";
var timeArray = time.split(" ");
timeArray = timeArray[0].split(":");
alert(parseInt(timeArray[0])*60+parseInt(timeArray[1]));
答案 1 :(得分:2)
var time="12:30 pm";
var hr,min;
time = time.split(" ");
if(time[1]==='am'){
time = time[0].split(":");
hr= parseInt(time[0])-12;
var min= parseInt(time[1]);
}
else{
time = time[0].split(":");
hr= parseInt(time[0]);
min= parseInt(time[1]);
}
var date= new Date();
date.setHours(hr);
date.setMinutes(min);
alert(date.getHours()*60 + date.getMinutes());
答案 2 :(得分:0)
试试这个,
var t='12:30 am';
var pat= /\d+/g;
var arr=(t.match(pat));
if(arr[0] && arr[1]){
alert(parseInt(arr[0]*60) + parseInt(arr[1]));
}
var t='12:30 am';
var pat= /\d+/g;
var arr=(t.match(pat));
if(arr[0] && arr[1]){
alert(parseInt(arr[0]*60) + parseInt(arr[1]));
}
答案 3 :(得分:0)
function my_timestringToMin(input){
input = input.match(/^(\d+)[:\.](\d+) ?(am|pm)?$/i);
/* Convert input to array: [input, hours, minutes, am/pm/undefined] */
var output = parseInt(input[2]); // minutes
output += parseInt(input[1] * 60); // add hours * 60
if(input[1] < 12 && input[3] == "pm")
output += 12*60; // if PM, add 12h
return output;
}
$("#submit").click(function(){$("#result").html(my_timestringToMin($("#input").val()).toString());});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div><input type="text" id="input" value="12:30 am"><input id="submit" type="submit" value="calculate"></div>
<div>Result: <span id="result">750</span> min</div>
答案 4 :(得分:0)
首先,我可以说这不是一种正确的方式。
我们怎么说12.30 am是750分钟?我认为下午12点30分是750分钟,上午12点30分是30分钟,
无论如何,按照你的问题,你可以做下面的事情,它会给你的结果提供你想要的结果
var time="12:30 am"
var time = time.split(" ");
time = time[0].split(":");
alert(parseInt(time[0])*60+parseInt(time[1]));
<强> DEMO 强>
答案 5 :(得分:0)
如果您使用新日期(年,月,日,小时,分钟,秒,毫秒)创建日期; *您可以使用d.getHours();和d.getMinutes(); **
EG:
var date = new Date(2015, 2, 11, 12, 30, 00);
var hours = date.getHours();
var minutes = date.getMinutes();
var totalMinutes = hours * 60 + date.getMinutes();
$('#time-in-minutes').html(totalMinutes);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="time-in-minutes"/>
&#13;
* http://www.w3schools.com/jsref/jsref_obj_date.asp ** http://www.w3schools.com/jsref/jsref_getminutes.asp