我创建了一个时钟放在我的网站的标题中.时间不会显示零分钟<10.例如,如果时间是10:50,它将只显示10:5,我找到了解决方案但不确定如何实现它.如果有更好的方法请分享.
var current;
window.onload = function () {
current = new Date();
document.getElementById("clock").innerHTML = current.getHours() + ":" + current.getMinutes();
Run Code Online (Sandbox Code Playgroud)
这就是我需要的
if (minutes < 10)
minutes = "0" + minutes
Run Code Online (Sandbox Code Playgroud)
这是我时钟的容器
<span id="clock"> </span>
Run Code Online (Sandbox Code Playgroud) 所以我写了一个方法,它取一个数字并减去当前日期的月数.
我试图找出如何在少于10的月份之前添加"0".另外,如何在小于10的日子前面添加"0".
目前,它返回对象时(2012-6-9).它返回6和9,前面没有'0',有人可以告诉我该怎么做吗?
这是我的代码
lastNmonths = function(n) {
var date = new Date();
if (n <= 0)
return [date.getFullYear(), date.getMonth() + 1 , date.getDate()].join('-');
var years = Math.floor(n/12);
var months = n % 12;
if (years > 0)
date.setFullYear(date.getFullYear() - years);
if (months > 0) {
if (months >= date.getMonth()) {
date.setFullYear(date.getFullYear()-1 );
months = 12 - months;
date.setMonth(date.getMonth() + months );
} else {
date.setMonth(date.getMonth() - months);
}
}
}
return [date.getFullYear(), date.getMonth() + 1, date.getDate()].join('-');
};
Run Code Online (Sandbox Code Playgroud) 当您将小数字转换为十六进制表示形式时,您需要前导零,因为toString(16)将返回f,15而不是00000f。通常我会使用这样的循环:
var s = X.toString(16); while (s.length < 6) s = '0' + s
Run Code Online (Sandbox Code Playgroud)
JavaScript 有更好的方法吗?
UPD:答案建议的答案如何使用 JavaScript 创建 Zerofilled 值?不是我正在寻找的,我正在寻找一个非常短的代码,它专门适用于将 24 位整数转换为十六进制字符串。
可能重复:
Javascript添加前导零到目前为止
这可能是一个简单的问题,因为我仍然是JavaScript的新手,假设我有ISO格式的DateTime:
2012-07-07T17:00:00
Run Code Online (Sandbox Code Playgroud)
我想将此日期格式化为字符串:
07.07.2012
Run Code Online (Sandbox Code Playgroud)
我已经编写了一个格式化为7.7.2012的函数,如下所示:
var formatDate = function (datum) {
var date = new Date(datum);
return date.getDate() + '.' + (date.getMonth() + 1) + '.' + date.getFullYear();
};
Run Code Online (Sandbox Code Playgroud)
如何修改此代码以获取结果07.07.2012而不是7.7.2012
我有一个工作计时器,每秒返回一个值
<?php
$timer = "10:00";
?>
<input type="text" value="<?php echo $timer; ?>" id="timer"/>
<script>
$('.ok').click(function() {
setInterval(function(){
var timer=$('#timer').val();
var time = timer.split(":");
var timer = (parseInt(time[0])*60) + parseInt(time[1]);
var remaining= (timer)-1;
var minutes = parseInt( remaining / 60 ) % 60;
var seconds = remaining % 60;
$('#timer').val(minutes+":"+seconds);
}, 1000);
});
</script>
Run Code Online (Sandbox Code Playgroud)
我希望输出显示mm:ss.比如输出是9分1秒,我希望它看起来像09:01而不是9:1
这是尝试过的:
部分伪代码:
var hours = date1.getHours();
var minutes = date2.getMinutes();
if (hours.length == 1)
hours = "0" + hours;
if (minutes.length == 1)
minutes = "0" + minutes;
var time = hours + ':' + minutes;
Run Code Online (Sandbox Code Playgroud)
有没有更聪明的方法,比如格式化的字符串函数,我可以说:
var minutes = date.getMinutes('mm');
var hours = date.getHours('hh');
Run Code Online (Sandbox Code Playgroud)
所以它会自动添加零?
预期输出:字符串中的01-2019或02-2019.
我在Angular .ts文件中需要这个.不在HTML视图文件中.