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&&hour
hour=>20&&hour)我在当前时间(02:38:52)期待“Raat”。但它返回“Dupur”好的,修复了它。抱歉我的错误:)可能需要另一个更改。你能查一下第二行吗?也许我说不清楚。事实上,我期待着这样的事情:当前时间应该是:(02:44:53 Raat)而不是(02:44:53 am)。编辑:我离我的答案太近了。我只需要更改最后两行,这样一次只能得到一个值。@KBTonmoy我已重新构造了我的答案,希望您能更清楚地了解发生了什么。我也试着提供更多的建议,告诉你如何以不同的方式解决这个问题。你真是太棒了。我还需要你帮个忙。是否可以仅使用Document.write语法更改输入字段?我想在Adobe Flash actionscript中使用该脚本。@kbtonmo在这种情况下,演示不会真正起作用,但在代码中真正需要做的就是替换
output.innerText=文档编写代码>写入(…)