首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >时间转换:toLocaleDateString()的坑

时间转换:toLocaleDateString()的坑

作者头像
王小婷
发布2020-07-30 16:58:57
1.1K0
发布2020-07-30 16:58:57
举报
文章被收录于专栏:编程微刊编程微刊

今天说一个关于toLocaleDateString()的坑。 安卓手机picker 时间选择 默认时间显示英文

toLocaleDateString() 方法可根据本地时间把 Date 对象的日期部分转换为字符串,并返回结果。

但是这个方法有毒,在不同浏览器返回的格式是不一样的。

我这里是用来做了一个小程序里面的时间处理。 我将一个日期对象转化成这种时间格式yyyy-mm-dd之后,在微信开发者工具里面显示都是正常的,是这个样子的。

真机的格式: 在我的安卓手机上测试的时候,会发现这个问题,时间格式是显示英文了。

解决办法:

如果想获取yyyyMMdd格式的字符串:

方法:

var str= new Date();
var str2= str.getFullYear() + "-"
 + (str.getMonth() + 1) + "-" + str.getDate();

示例代码:

<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
    <head>
        <title></title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <!-- <link rel="stylesheet" href="https://cdn.bootcss.com/twitter-bootstrap/4.3.1/css/bootstrap.min.css"> -->
        <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
        <!-- <script src="https://cdn.bootcss.com/twitter-bootstrap/4.3.1/js/bootstrap.min.js"></script> -->
        <style>
        </style>
    </head>
    <body>
  
    </body>
    <script>
        var  date= new Date();
        var taskStartTime=  date.getFullYear() + "-"+ (date.getMonth() + 1) + "-" +  date.getDate();
        console.log(taskStartTime)

    </script>
</html>

打印

注意: 有的时候,需要区别,2020-7-24和,2020-07-24,当月份或者日为个位数的时候,需要在前面加上一个0字,这个时候,就需要进行一定的判断了。

示例代码:

<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
    <head>
        <title></title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <!-- <link rel="stylesheet" href="https://cdn.bootcss.com/twitter-bootstrap/4.3.1/css/bootstrap.min.css"> -->
        <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
        <!-- <script src="https://cdn.bootcss.com/twitter-bootstrap/4.3.1/js/bootstrap.min.js"></script> -->
        <style>
        </style>
    </head>
    <body>

    </body>
    <script>
        var date = new Date();
        if (date.getMonth() < 9) {
            taskStartTime = date.getFullYear() + "-0" + (date.getMonth() + 1) + "-"
        } else {
            taskStartTime = date.getFullYear() + "-" + (date.getMonth() + 1) + "-"
        }
        if (date.getDate() < 10) {
            taskStartTime += "0" + date.getDate()
        } else {
            taskStartTime += date.getDate()
        }
        console.log(taskStartTime)
    </script>
</html>

当月份或者日为个位数的时候,会在日期前面添加一个0。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CLI 工具
云开发 CLI 工具(Cloudbase CLI Devtools,CCLID)是云开发官方指定的 CLI 工具,可以帮助开发者快速构建 Serverless 应用。CLI 工具提供能力包括文件储存的管理、云函数的部署、模板项目的创建、HTTP Service、静态网站托管等,您可以专注于编码,无需在平台中切换各类配置。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档