您的位置: 首页 >日志>前端技术>详细内容

前端技术

Js月份数字转换英文展示

来源:本站原创 发布时间:2023-07-07 09:02:53 浏览次数: 【字体:

使用场景:我们经常输出时间都是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>


×

用户登录