getMinutes() 0-9 - 如何显示两位数字
getMinutes() 0-9 - How to display two digit numbers?
var date = "2012-01-18T16:03";
var date = new Date(date);
console.log(date.getMinutes());
console.log(date.getMinutes().length)
这将返回 3。
- 如何使其返回"03"?
- 为什么
.length
不被发现地返回?
我试过这个,但它不起作用:
如果是strlen == 1
则num = ('0' + num);
var date = new Date("2012-01-18T16:03");
console.log( (date.getMinutes()<10?'0':'') + date.getMinutes() );
Yikes 这些答案不是很好,即使是顶级帖子也上升了。在这里,跨浏览器和更干净的整数/字符串转换。另外,我的建议是不要在像date = Date(...)
这样的代码中使用变量名称"date",因为您严重依赖语言区分大小写(它可以工作,但当您使用具有不同规则的不同语言的服务器/浏览器代码时,它有风险(。所以假设 javascript Date 在 var current_date
mins = ('0'+current_date.getMinutes()).slice(-2);
该技术是将"0"最右边的 2 个字符(slice(-2))
附加到 getMinutes()
的字符串值上。所以:
"0"+"12" -> "012".slice(-2) -> "12"
和
"0"+"1" -> "01".slice(-2) -> "01"
另一种简短的方法是使用以下命令用前导零填充分钟:
String(date.getMinutes()).padStart(2, "0");
含义:使字符串长两个字符,如果缺少字符,则在此位置设置0
。
请参阅str.padStart(targetLength,padString(上的文档
ES6函数将日期格式化为hh:mm:ss
:
const leadingZero = (num) => `0${num}`.slice(-2);
const formatTime = (date) =>
[date.getHours(), date.getMinutes(), date.getSeconds()]
.map(leadingZero)
.join(':');
使用 ECMAScript 国际化 API,更多信息:
const date_string = "2012-01-18T16:03";
const date = new Date(date_string);
const twoDigitMinutes = date.toLocaleString("en-us", {year: 'numeric', month: 'numeric', day: 'numeric', hour: '2-digit', minute: '2-digit', second: "2-digit"});
console.log(twoDigitMinutes);
可以的话,我想为这个问题提供一个更简洁的解决方案。接受的答案非常好。但我会这样做。
Date.prototype.getFullMinutes = function () {
if (this.getMinutes() < 10) {
return '0' + this.getMinutes();
}
return this.getMinutes();
};
现在如果你想使用它。
console.log(date.getFullMinutes());
我建议:
var minutes = data.getMinutes();
minutes = minutes > 9 ? minutes : '0' + minutes;
它少了一个函数调用。考虑性能总是好的。它也很短;
我假设您需要将值作为字符串。您可以使用下面的代码。它将始终返回给您两位数的分钟作为字符串。
const date_string = "2012-01-18T16:03";
const date = new Date(date_string);
let min = date.getMinutes();
if (min < 10) { // or min = min < 10 ? '0' + min : min;
min = '0' + min;
} else {
min = min + '';
}
console.log(min);
希望这有帮助。
另一种选择:
var dateTime = new Date();
var minutesTwoDigitsWithLeadingZero = ("0" + dateTime.getMinutes()).substr(-2);
这个怎么样? 它对我有用! :)
var d = new Date();
var minutes = d.getMinutes().toString().replace(/^('d)$/, '0$1');
你应该检查它是否小于10...不寻找它的长度,因为这是一个数字而不是一个字符串
.length
未定义,因为getMinutes
返回的是数字,而不是字符串。 数字没有length
属性。 你可以做
var m = "" + date.getMinutes();
使其成为字符串,请检查长度(您可能要检查 length === 1
,而不是 0(。
数字没有长度,但您可以轻松地将数字转换为字符串,检查长度,然后在必要时在前面加上 0:
var strMonth = '' + date.getMinutes((;if (strMonth.length == 1( { strMonth = '0' + strMonth;}
我在这里看不到任何 ES6 答案,所以我将使用 StandardJS 格式添加一个
// ES6 String formatting example
const time = new Date()
const tempMinutes = new Date.getMinutes()
const minutes = (tempMinutes < 10) ? `0${tempMinutes}` : tempMinutes
const date_string = "2012-01-18T16:03";
const date = new Date(date_string);
const dd = date.getDate();
const MM = date.getMonth();
const mm = date.getMinutes();
const HH = date.getHours();
// Year
const year = date.getFullYear();
// Month
const month = ("0" + (MM + 1)).slice(-2); // first month start from 0, so add +1
// Day
const day = ("0" + dd).slice(-2);
// Hour
const hour = ("0" + HH).slice(-2);
// Minutes
const minutes = ("0" + mm).slice(-2);
// Seconds
const seconds = ("0" + mm).slice(-2);
console.log(year, month, day, hour, minutes, seconds);
我通常使用这段代码:
var start = new Date(timestamp),
startMinutes = start.getMinutes() < 10 ? '0' + start.getMinutes() : start.getMinutes();
它与@ogur接受的答案非常相似,但在不需要 0 的情况下不会连接空字符串。不确定它更好。只是另一种方法!
$(".min").append( (date.getMinutes()<10?'0':'') + date.getMinutes() );
JS新手,所以这很有帮助最 PPL 看着这个问题 新 太所以这就是我让它显示在名为"class="min"的div 中的方式
希望它对某人有所帮助
获取两位数分钟或小时的另一个选项。
var date = new Date("2012-01-18T16:03");
var minutes = date.toTimeString().slice(3, 5);
var hours = date.toTimeString().slice(0, 2);
moment.js :
moment(date).format('mm')
例 : moment('2019-10-29T21:08').format('mm') ==> 08
希望它对某人有所帮助
链接 github:
https://github.com/moment/moment/
对于两位数的分钟,请使用: new Date().toLocaleFormat("%M")
如果你在项目中使用 AngularJS,只需注入$filter并像下面这样使用它:
$filter('date')(value, 'HH:mm')
您还可以在模板中格式化输出,有关过滤器的更多信息,请参阅此处。
- 显示数字,然后每5秒随机更改一次(javascript)
- 显示数字键盘的Phonegap-js提示
- 我如何才能在点击按钮时将我的数字和财富显示在这个脚本上
- 当数字太小时,Highcharts轴无法正确显示值
- 数字以科学记数法显示
- 如何显示正好 2 位数字的 html 数字输入的输入值
- 如何在方程式前显示数字
- 获取滑块以显示月份而不是数字
- 选择下拉选项时显示数字-javascript
- 如何为全球 javascript 的数字显示添加格式
- 如何创建一个倒数计时器,用户在其中输入任何数字并将其从该数字显示为零
- 我想根据从代码点火器的选择框中选择的数字显示图像
- 将最大长度设置为 jQuery 计算器的数字显示
- 浏览器为大量数字显示不同的值
- 如何强制数字显示小数点后2位
- 为什么JavaScript'的数字*显示*大数是不准确的
- 四舍五入的数字显示正数和负数的结果不同
- 如何将数字1显示为01以及如何增加该数字
- 将数字显示为非标准索引
- 根据间隔设置的数字显示图像