微信小程序报错:expect end-tag `input`., near `div`

758 阅读3分钟

Offer 驾到,掘友接招!我正在参与2022春招系列活动春招打卡任务,点击查看活动详情

@TOC

在这里插入图片描述

前言

Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~   自我介绍 ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计算机专业,有幸拿过一些国奖、省奖...已保研。 学习经验:扎实基础 + 多做笔记 + 多敲代码 + 多思考 + 学好英语!   小白阶段 文章仅作为自己的学习笔记 用于知识体系建立以及复习 知其然 知其所以然!

报错提示

expect end-tag input., near div

[ WXML 文件编译错误] ./pages/index/index.wxml
 expect end-tag `input`., near `div`
   8 |             <input type="text" name="" required="">
   9 |             <label>Username</label>
> 10 |           </div>
     |            ^
  11 |           <div class="user-box">
  12 |             <input type="password" name="" required=""/>
  13 |             <label>Password</label>

报错代码

    <div class="user-box">
            <input type="text" name="" required="">
            <label>Username</label>
          </div>

解决方法

问题在input标签

在小程序中需要闭合

添加个/就可以了

修改后:

<input type="text" name="" required=""/>

一、封装函数获取时间戳

封装函数 在这里插入图片描述 自定义一个文件夹,放utils.js utils.js

function formatTime(date) {
  var year = date.getFullYear()
  var month = date.getMonth() + 1
  var day = date.getDate()

  var hour = date.getHours()
  var minute = date.getMinutes()
  var second = date.getSeconds()

  return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
}

function formatNumber(n) {
  n = n.toString()
  return n[1] ? n : '0' + n
}

module.exports = {
  formatTime: formatTime
}

使用函数 ceshi.js

// 在需要使用的js文件中,导入js
// 路径就填自己放的路径 
var util = require('../utils/utils.js');
Page({
  data: {

  },
  onLoad: function () {
    // 调用函数时,传入new Date()参数,返回值是日期和时间
    var time = util.formatTime(new Date());
    // 再通过setData更改Page()里面的data,动态更新页面的数据
  console.log(time)//打印测试时间
  }

})

结果

2019/11/09 13:09:56

二、不用封装函数,自己获取时间戳

比如,我就需要现在的年、月、日,若封装函数,感觉代码量有点多。 那么我们就自己在js中随时获取,就ok了。 ceshi.js

Page({
  data: {

  },
  onLoad: function () {
let year=new Date().getFullYear()
let month=new Date().getMonth()+1  //这里month需要+1
let day=new Date().getDate()
let hour=new Date().getHours()
let minute=new Date().getMinutes()
let secend=new Date().getSeconds()
console.log("year="+year);
console.log("month="+month)
console.log("day="+day)
console.log("hour="+hour)
  }
})

结果 在这里插入图片描述 注意:使用getFullYear()等获取信息的时候,记得后面是有 括号的!

三、使用picker组件获取用户选择的时间,并规范化

1、使用picker组件获取用户选择时间

wxml

<view class="top_content">
		<picker mode="date" value="{{date}}" start="2015-09-01" end="2020-09-01" bindchange="DateChange">
<view class="top_contenta">在一起</view>
<text><text class="top_contentb">{{total_days}}</text>天</text>
		</picker>
</view>

js

 DateChange:function(e){
 //选择的时间 在e.detail.value中
    console.log("用户选择的时间是:" + e.detail.value)    
}      

结果(控制台调试结果)

用户选择的时间是:2019-11-09

2、规范化,便于求日期加减 js

 DateChange:function(e){
    
    console.log("用户选择的时间是:" + e.detail.value)
   
    // 时间规范化 将2019-1-1==》 2019/1/1 
    var start_date = e.detail.value.replace(/-/g, "/")
    //利用 Date.parse 求距离1970-1-1的毫秒数 方便进行日期加减计算
    var x = Date.parse(new Date(start_date));
    var y=Date.parse(new Date("2017-1-1"))//自定义字符串 string==》Date
    //验证结果
    console.log("用户选择的时间距离1970-1-1的毫秒数="+x)
    console.log("2017-1-1距离1970-1-1的毫秒数="+y)
    console.log("二者之间相差的天数="+(x-y)/(1000*3600*24))
}   

结果 在这里插入图片描述

结语

文章仅作为学习笔记,记录从0到1的一个过程

希望对您有一点点帮助,如有错误欢迎小伙伴指正

在这里插入图片描述