我有一个网站,我计算两次输入元素中输入的两次(开始时间结束时间)之间的小时和分钟。结果保存在标签内。
以下是一个例子:
Starttime: 08:00
Endtime: 15:30
TimeSpend: 7 hours 30 Minutes
我需要将值Timespend发送回我的后端,但不是以这种形式发送。我想以这样的形式发送它:
7:30
等
我使用此JavaScript过滤小时和分钟:replace(/[^0-9]/g,'');
结果为730。
如何在7到30之间添加冒号以便查看
像:730 --> 7:30
?相同应适用于1120 --> 11:20
。
答案 0 :(得分:1)
您可以将第二个正则表达式应用于timespend
,它标识最后两个字符并在前面插入一个冒号:
replace(/(.{2})$/,':$1');
工作示例:
var paragraphs = document.getElementsByTagName('p');
var timespend = '7 hours 30 Minutes';
paragraphs[0].textContent = timespend;
timespend = timespend.replace(/[^0-9]/g,'');
paragraphs[1].textContent = timespend;
timespend = timespend.replace(/(.{2})$/,':$1');
paragraphs[2].textContent = timespend;

<p></p>
<p></p>
<p></p>
&#13;
答案 1 :(得分:0)
您可以转换
TimeSpend:7小时30分钟
使用strtotime()和date(),如:
$time = "7 hours 30 Minutes";
echo date('H:i', strtotime($time));
输出:09:42
答案 2 :(得分:0)
试试这个我希望它有所帮助。请参阅jsfiddle.net/4y6f1t25/
并检查
答案 3 :(得分:0)
var timeInHourMinutes =&#34; 7小时30分钟&#34 ;;
var res = timeInHourMinutes.replace(&#34; hours&#34;,&#34;:&#34;);
res = res .replace(&#34;分钟&#34;,&#34;&#34;);
的console.log(RES);