JavaScript本地时间打印
作为一个初学者,我面临着一些问题。即使是我也无法通过谷歌搜索找到任何解决方案 问题:在我的语言(孟加拉语)中,整个白天有五根弦(索卡尔、杜普尔、比卡尔、桑达、拉特),而不是国际两根弦(上午、下午) 我写了这封信,但帮不了我多少忙JavaScript本地时间打印,javascript,localtime,Javascript,Localtime,作为一个初学者,我面临着一些问题。即使是我也无法通过谷歌搜索找到任何解决方案 问题:在我的语言(孟加拉语)中,整个白天有五根弦(索卡尔、杜普尔、比卡尔、桑达、拉特),而不是国际两根弦(上午、下午) 我写了这封信,但帮不了我多少忙 var time = new Date(); var hour = time.getHours(); var text = "sokal"; if(hour == 13){ text = "dupur"; }els
var time = new Date();
var hour = time.getHours();
var text = "sokal";
if(hour == 13){
text = "dupur";
}else if(hour == 16){
text = "bikal";
}else if(hour == 18){
text = "sondha";
}else if(hour == 20){
text = "raat"
}
console.log(text);
我想打印:
6Am to 11Am as 06:00 Sokal;
12Pm to 3pm as 12:00 Dupur;
4 Pm to 5Pm as 04:00 Bikal;
6 pm to 7pm as 06:00 Sondha;
8 pm to 5Am as 08:00 Raat;
函数getHourName(小时){
如果(小时>11和小时<16){
返回“Dupur”
}
如果(小时>15和小时<18){
返回“比卡尔”
}
如果(小时数>17和小时数<20){
返回“Sondha”
}
如果(小时>19 | |小时<6){
返回“Raat”
}
如果(小时数>5和小时数<12){
返回“索卡尔”
}
}
Array.from({length:24}).forEach(({,hour)=>{
log(`${hour}:00-${hour}:59${getHourName(hour)}`);
});代码>您应该使用
,=
等工具将小时与不同的范围进行比较。例如,如果小时数小于6,则周期为raat
还请注意,您不一定需要对每个范围进行两次比较。如果小时数不小于6,则您知道它大于或等于7,因此利用else
来降低后续If
的复杂性
如果我理解您的要求,它将如下所示:
function fmtPeriod(hour) {
if (hour < 6) {
return "Raat";
} else if (hour < 12) {
return "Sokal";
} else if (hour < 16) {
return "Dupur";
} else if (hour < 18) {
return "Bikal";
} else if (hour < 20) {
return "Sondha";
} else {
return "Raat"
}
}
略短一点的查找数组替代方案:
函数格式(日期){
var arr=['Sokal'、'Sokal'、'Sokal'、'Dupur'、'Dupur'、'Bikal'、'Sondha'];
return date.toJSON().slice(11,19)+''+(arr[date.getUTCHours()-6>>1]||'Raat');
}
对于(变量i=0;i<24;i++)
log(格式(新日期('0'+i+':0Z'))
您可以使用Javascript库MomentJs()
MomentJS支持多种语言环境,例如孟加拉语
moment.locale(); // bn
moment().format('LT'); // রাত ৯:৫৮ সময়
moment().format('LTS'); // রাত ৯:৫৮:৩৪ সময়
moment().format('L'); // ২৪/০৪/২০১৯
moment().format('l'); // ২৪/৪/২০১৯
moment().format('LL'); // ২৪ এপ্রিল ২০১৯
moment().format('ll'); // ২৪ এপ্র ২০১৯
moment().format('LLL'); // ২৪ এপ্রিল ২০১৯, রাত ৯:৫৮ সময়
moment().format('lll'); // ২৪ এপ্র ২০১৯, রাত ৯:৫৮ সময়
moment().format('LLLL'); // বুধবার, ২৪ এপ্রিল ২০১৯, রাত ৯:৫৮ সময়
moment().format('llll'); // বুধ, ২৪ এপ্র ২০১৯, রাত ৯:৫৮ সময়
如果您使用像npm这样的包管理器,那么在应用程序中集成momentJS是非常容易的
例如:
npm安装时刻——保存#npm
或其他包管理器:
yarn add moment # Yarn
Install-Package Moment.js # NuGet
spm install moment --save # spm
meteor add momentjs:moment # meteor
bower install moment --save # bower (deprecated)
Node.js中的用法示例:
npm install moment
var moment = require('moment');
moment().format();
浏览器中的用法示例:
<script src="moment.js"></script>
<script>
moment().format();
</script>
矩().format();
另外,momentJs框架还提供了更多处理日期的选项。检查它:检查范围:如果(小时>=12&&hourhour=>20&&hour)我在当前时间(02:38:52)期待“Raat”。但它返回“Dupur”好的,修复了它。抱歉我的错误:)可能需要另一个更改。你能查一下第二行吗?也许我说不清楚。事实上,我期待着这样的事情:当前时间应该是:(02:44:53 Raat)而不是(02:44:53 am)。编辑:我离我的答案太近了。我只需要更改最后两行,这样一次只能得到一个值。@KBTonmoy我已重新构造了我的答案,希望您能更清楚地了解发生了什么。我也试着提供更多的建议,告诉你如何以不同的方式解决这个问题。你真是太棒了。我还需要你帮个忙。是否可以仅使用Document.write语法更改输入字段?我想在Adobe Flash actionscript中使用该脚本。@kbtonmo在这种情况下,演示不会真正起作用,但在代码中真正需要做的就是替换output.innerText=使用文档编写代码>写入(…)实际上,我想在Adobe Flash Actionscript中运行脚本。我发现没有办法将Momentjs集成到Flash文件中。顺便说一句,这对我将来肯定有帮助。