JavaScript创建时间对象、数字、字符串方法
时间对象
四种时间创建方法
// 普通创建
var myData = new Date();
console.log(myData);
// 传参创建 年月日 时分秒 毫秒
var myData1 = new Date(2019,10,1,9,10,20,30);
console.log(myData1);
// 字符串创建 年月日 时分秒 毫秒
var myData2 = new Date("2019/10/1 9:10:40");;
console.log(myData2);
// 时间戳创建 从1970年1月1日0分0秒到现在的总毫秒数,一共10个0
var myData3 = new Date(1560000000000);
console.log(myData3);
获取年月日星期
var myDate = new Date();
// 获取年 月 日 星期
var year = myDate.getFullYear();
console.log("年份:"+ year);
// 月份输出为0-11.0代表1月
var mon = myDate.getMonth()+1;
console.log("月份:" + mon); //正常输出
var da = myDate.getDate();
console.log("日期是:" + da);
// 周几输出为0-6.0代表周日
var day = myDate.getDay()+1;
console.log("周:" + day);
note:
- 月份输出为0-11.0代表1月
- 周几输出为0-6.0代表周日
获取时 分 秒 毫秒
var myDate = new Date();
// 获取时 分 秒 毫秒
// 0-23
var hour = myDate.getHours();
console.log("时:"+ hour);
var min = myDate.getMinutes();
console.log("分:" + min);
var mesc = myDate.getSeconds();
console.log("秒:" + mesc);
var ms = myDate.getMilliseconds();
console.log("毫秒:" + ms);
获取完整时间和日期
toLocaleDateString()
toLocaleTimeString()
// 获取完整时间和日期
var a = new Date().toLocaleDateString(); //日期
var b = new Date().toLocaleTimeString(); //时间
var c = new Date(1560000000000).toLocaleTimeString(); //时间
console.log(a);
console.log(b);
console.log(c);
时间戳
// 时间戳
var a = new Date().getTime(); //毫秒
var b = parseInt(new Date().getTime()/1000); //秒,转换为整型
console.log(a);
console.log(b);
数字方法
数字取整
math对象,用于执行数学任务
// 数字取整
var a = 3.4445245;
var b = parseInt(a); //转为整型
console.log(b); //3
console.log(Math.sin(b)); //0.1411200081
var c = Math.floor(a); //向下取整
var d = Math.ceil(a); //向上取整
var e = Math.round(a); //四舍五入取整
console.log(c); //3
console.log(d); //4
console.log(e); //3
取随机数
// 随机数
var a = Math.random(); //0-1之间的随机数(不包括1)
console.log(a);
var b = Math.random()*100; //0-100之间的随机数(不包括100)
console.log(b);
var c = Math.ceil(Math.random()*3); //0.1.2.3之间的随机数
console.log(c);
var d = Math.floor(Math.random()*3); //0.1.2之间的随机数
console.log(d);
给定范围随机数
// 给定范围的随机数
var a = Math.random() + 2; //2---3之间的随机数,(不包括3)
console.log(a); //2.0-3.0之间的随机数(不包括3)
// 2-5之间的随机数(包括2,包括5)
// 括号内(5-2+1)表示范围,+2表示从2开始
// (最大数 - 最小数 + 1) + 最小值
var b = Math.floor(Math.random() * (5 - 2 + 1) + 2); //2-5之间的随机数(包括2,包括5)
console.log(b); //2-5之间的随机数(包括2,包括5)
字符串方法
字符串查找
- 字符串从0位置开始
- str.indexOf(“o”); //查找第一个o的位置
- str.lastIndexOf(“o”); //查找最后一个o的位置
- str.charAt(4); //查找第5个字符
- str.lastIndexOf(“m”); //查找不存在的字符,返回-1
// 字符串方法
// 字符串查找 0 1 2 3 4 5 6 7 8 9(从0开始)
var str = "hello world";
var a = str.indexOf("o"); //查找第一个o的位置
var b = str.lastIndexOf("o"); //查找最后一个o的位置
var c = str.charAt(4); //查找第5个字符
var d = str.lastIndexOf("m"); //查找不存在的字符,返回-1
字符串替换
- str.replace(“o”, “O1234”); //替换第一个o为O1234
- str.replace(/o/g, “O1234”); //全局匹配替换所有的o为O1234
- str.replace(/o/i, “O1234”); //不区分大小写,匹配替换第一个o为O1234
- str.replace(/o/gi, “O1234”); //不区分大小写 + 全局匹配替换所有的o为O1234
// 字符串替换
var str = "hello world";
var a = str.replace("o", "O1234"); //替换第一个o为O1234
console.log(a); //hellO1234 world
var b = str.replace(/o/g, "O1234"); //全局匹配替换所有的o为O1234
var c = str.replace(/o/i, "O1234"); //不区分大小写,匹配替换第一个o为O1234
var d = str.replace(/o/gi, "O1234"); //不区分大小写 + 全局匹配替换所有的o为O1234
console.log(b); //hellO1234 wOrld
console.log(c); //hellO1234 world
console.log(d); //hellO1234 wOrld
截取指定下标的字符
- subString(截取的字符串)
- str.substring(0, 5); //截取0-5之间的字符串(包头不包尾)
- str.substring(5); //截取5-最后之间的字符串
// 截取指定下标的字符串
var str = "hello world";
var a = str.substring(0, 5); //截取0-5之间的字符串(包头不包尾)
var b = str.substring(5); //截取5-最后之间的字符串
console.log(a); //hello
console.log(b); // world
截取指定个数的字符串
- substr(开始的下标,截取的个数)
- 下标接受负值,表示从后往前截取
- str.substr(4,8); //从第四位开始截取8个字符
- str.substr(-4,8); //从倒数第四位开始截取8个字符
// 截取指定个数的字符串
// substr(开始的下标,截取的个数)
// 下标接受负值,表示从后往前截取
var b = str.substr(4,8); //从第四位开始截取8个字符
var c = str.substr(-4,8); //从倒数第四位开始截取8个字符
console.log(b); //o world
console.log(c); //orld
字符串分割
- split()把一个字符串分割成字符串数组
- str.split(" "); //以空格为分隔符,分割字符串
- str.split(“0”, 2); //以0为分隔符,分割字符串,限制分割的个数为2
- 分割后的字符串可以当作数组使用
// 字符串分割
var a = str.split(" "); //以空格为分隔符,分割字符串
var b = str.split("o"); //以o为分隔符,分割字符串
var c = str.split("0", 2); //以0为分隔符,分割字符串,限制分割的个数为2
var d = str.split("11");
console.log(a); // //["hello", "world"]
console.log(b); //["hell", " w", "rld"]
console.log(c); //["hell", " w", "rld"]
console.log(c[0]); //hell
字符串放数组使用
- str.charAt(0); //获取第一个字符
- str[0]; //获取第一个字符
// 字符串当作数组使用
var a = str.charAt(0); //获取第一个字符
var b = str[0]; //获取第一个字符
for (var i = 0; i < str.length; i++) {
document.write(str[i] + "<br>"); //获取每一个字符
}
案例
将输入的内容的首字母转成大写的三种写法
var xm = "xiaoMing";
var e = xm[0];
console.log(e);
var f = e.toUpperCase();
console.log(f);
var g = xm.replace(e,f); //替换第一个字符为大写
console.log(g); //XiaoMing
// 简便写法,两种
var XM1 = xm.replace(xm.charAt(0),xm.charAt(0).toUpperCase()); //替换第一个字符为大写
var XM2 = xm.replace(xm[0],xm[0].toUpperCase()); //替换第一个字符为大写
console.log(XM1); //XiaoMing
console.log(XM2); //XiaoMing