有没有一种方法可以直接在Javascript中格式化时间
Is there a way to directly format the time in Javascript?
我想要的是用Javascript
获得当前时间的输出。输出应该类似于:
15:28:30 PM
我用以下代码得到了这个:
var date = new Date();
document.write("Current time: " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds());
if (date.getHours() <= 12)
document.write(" AM");
else
document.write(" PM");
所以我得到的输出是:
Current time: 3:0:16 AM
但我想知道是否有更快或更清洁的解决方案来解决这个问题,因为我认为我的解决方案一点都不好。
有可能用更好的方法或解决方案获得同样的行为吗?
提前感谢!
var date = new Date();
var time = date.toLocaleString('en').split(', ').pop();
这将为您提供您想要的确切格式。虽然我会选择Moment.js或Date.js这样的库。有很多选择。
它是这样的:
var dt = new Date;
console.log(dt.toLocaleTimeString());
我认为你的方法没有错。然而,如果你想要不同格式的灵活性,有一个名为moment.js的库可以让你构建和格式化日期。
moment().format('hh:mm:ss A'); // 12:00:00 AM
我认为你们做对了。只需稍作修改即可获得您的期望:
var date = new Date();
int hour = date.getHours();
string abbr;
if (date.getHours() <= 12)
abbr = " AM";
else {
hour = hour + 12;
abbr = " PM";
}
document.write("Current time: " + hour + ":" + date.getMinutes() + ":" + date.getSeconds() + abbr);
var currentTime = new Date()
var hours = currentTime.getHours()
var minutes = currentTime.getMinutes()
var seconds = currentTime.getSeconds()
if (minutes < 10) {
minutes = "0" + minutes
}
if (seconds < 10) {
seconds = "0" + seconds
}
str += hours + ":" + minutes + ":" + seconds + " ";
if(hours > 11){
str += "PM"
} else {
str += "AM"
}
return str;
}
找到此线程
相关文章:
- Javascript时间轨迹
- 在ISO转换后,JavaScript时间滞后了一个小时
- javascript时间戳插入字符串变量
- Javascript时间函数问题
- 几年前的javascript时间戳,并考虑闰年
- 简单的javascript时间/金钱每小时计算器
- Javascript时间戳编号不是唯一的
- 用于显示服务器上的 javascript 时间的脚本不起作用
- 我如何从手机上解释这些奇怪的JavaScript时间戳
- JavaScript 时间总和不计算后 .
- 使用正则表达式的JavaScript时间格式转换
- Javascript时间计数器与翻转时钟
- 如何将JavaScript时间对象转换为不同的格式
- 清理 JavaScript 时间戳
- 如何使Javascript时间自动更新
- JavaScript:时间戳的最佳格式
- JavaScript 时间戳到 Python 日期时间转换
- Javascript时间函数
- Javascript时间显示来自计算机的上午/下午(快速调整)
- 设置Javascript时间&来自SQL数据库和asp.net代码隐藏页的时区