Js月份数字转换英文展示
使用场景:我们经常输出时间都是2023-06-2或者 2023/06/2。但有时候我们遇到一些需要输出英文版的页面,我们会遇到要把月份或者整体转换成英文。
现在先简单把月份转换成英文的js方法。为什么我们要用js控制,因为我们的文章数据是什么之多的,我们不可能后台一个一个修改我们的日期方式。
Js书写思路:这边书写是纯原生javascrip写法,
代码如下:
<body>
<div class="date">2023-01-19</div>
<div class="date">2023-02-19</div>
<div class="date">2023-03-19</div>
<div class="date">2023-04-19</div>
<div class="date">2023-05-19</div>
<div class="date">2023-06-19</div>
<div class="date">2023-07-19</div>
<div class="date">2023-08-19</div>
<div class="date">2023-09-19</div>
</body>
</html>
<script>
var divtext = document.getElementsByClassName("date"); //获取类名date我们的dome元素,因为我们时间通常设置相同的date类名属性,所以我们可以通过这样写法获取;如果你用jq:var divtext = $("date");
var divlength = divtext.length; //获取date元素的个数,这里获取个数是为我们循环做准备的
console.log(divtext); //console.log 这个属性在我们写js是什么重要的代码,比如我们想知道dome节点的属性、还有接口数据、数据的类型等等。
for(var i = 0; i < divlength; i++){ //for循环,i=0 是初始化 ,通过判断 i与divlength比较 divlength是上面获取date元素个数。然后i自增1。
var dtext = divtext[i].innerText.split('-'); //divtext[i]是 i 开始等于0,divtext[0]就是获取date元素第一个元素,innerText这个是获取元素里面的文本内容也可以用innerHtml,split('-') 这个是把我们元素文本内容根据“-”这个来进行切割。
console.log(dtext); //假如i = 0 时候 divtext[0] var dtext最后生成[2023,01,19]
var a = dtext[1]; //dtext[1] 就是获取我们月份数据的方法
change(a,i); // 这个是调用change()方法 里面传送了2个参数 一个 a 、一个 i
}
function edit(b,i){ //这个是edit方法 里面传送了2个参数 一个b参数(b参数是用来获取change方法里面的var = b) 、一个i参数(i参数是一个index,既当前个数)
var text = divtext[i].innerText; //获取当前的date元素文本内容
var text2 = text.split('-'); //获取当前date切割后的数据
text2[1] = b //修改月份数据对应的英文数据(这里的b是通过edit(b,i)里面的字段获取的)
text2 = text2[0] + "-" + text2[1] + "-" + text2[2]; //字符串合并
divtext[i].innerText = text2; //修改对应date对应的文本内容
}
function change(a,i){ //这个是change方法 里面传送了2个参数 一个a参数(a参数用来调用for循环里面对应的var a 的数据) 、一个i参数(i参数是一个index,既当前个数)
switch(a){ //判断a 这里的a等于for循环var a = dtext[1];
case "01" : //判断 a 是否等于 "01",为什么这里是"01",因为这个var a = dtext[1]; 我们可以通过console.log(typeof(a)) 发现 a 是 string 字符串,所以我们要加""
var b = "January"; //这是月份英文字符串赋值
edit(b,i) //调用edit()方法 b 对应 上面的var b 的值 从而修改 text2[1] = b 对应的月份(既 本来text2[1] = 01 ,而var b = "January"; text2[1] = b , text2[1] = "January")
break; //达到修改成英文月份的功能。
case "02" : //下面的判断和上面的原理一样,这里我用的是switch case 方法,也可以用 if else 方法有兴趣的小伙伴也可以自己试试
var b = "February";
edit(b,i)
break;
case "03" :
var b = "March";
edit(b,i)
break;
case "04" :
var b = "April";
edit(b,i)
break
case "05" :
var b = "May";
edit(b,i)
break;
case "06" :
var b = "June";
edit(b,i)
break;
case "07" :
var b = "July";
edit(b,i)
break;
case "08" :
var b = "August";
edit(b,i)
break;
case "09" :
var b = "September";
edit(b,i)
break;
case "10" :
var b = "October";
edit(b,i)
break;
case "11" :
var b = "November";
edit(b,i)
break;
case "12" :
var b = "December";
edit(b,i)
break;
}
}
</script>
用户登录
还没有账号?
立即注册