let date1 = new Date(‘2021/07/17 09:44:53’);
console.log(date1.getUTCFullYear()); //2021 年
console.log(date1.getUTCMonth()); //6 月 需要+1
console.log(date1.getUTCDate()); //17 日
console.log(date1.getUTCHours()); //1 时 北京为8时区,所以9-8=1
console.log(date1.getUTCMinutes()); //44 分
console.log(date1.getUTCSeconds()); //53 秒
console.log(date1.getUTCMilliseconds()); //0 毫秒
1. getUTCFullYear 年
根据世界时从 Date 对象返回四位数的年份。
2. getUTCMonth 月
根据世界时从 Date 对象返回月份 (0 ~ 11)。
3. getUTCDate 日
根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。
4. getUTCHours 时
根据世界时返回 Date 对象的小时 (0 ~ 23)。
5. getUTCMinutes 分
根据世界时返回 Date 对象的分钟 (0 ~ 59)。
6. getUTCSeconds 秒
根据世界时返回 Date 对象的秒钟 (0 ~ 59)。
7. getUTCMilliseconds 毫秒
根据世界时返回 Date 对象的毫秒(0 ~ 999)。
8. getTimezoneOffset 时区差值
返回本地时间与格林威治标准时间 (GMT) 的分钟差。
相比普通时间设置,在set后面增加了UTC标记。
UTC 时间即为 GMT(格林尼治) 时间。
1. setUTCFullYear 年
根据世界时设置 Date 对象中的年份(四位数字)。
2. setUTCMonth 月
根据世界时设置 Date 对象中的月份 (0 ~ 11)。
3. setUTCDate 日
根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。
4. setUTCHours 时
根据世界时设置 Date 对象中的小时 (0 ~ 23)。
5. setUTCMinutes 分
根据世界时设置 Date 对象中的分钟 (0 ~ 59)。
6. setUTCSeconds 秒
根据世界时设置 Date 对象中的秒钟 (0 ~ 59)。
7. setUTCMilliseconds 毫秒
根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。
1. toString
把 Date 对象转换为字符串。
let date1 = new Date(‘2021/07/17 09:44:53’);
console.log(date1.toString()); //Sat Jul 17 2021 09:44:53 GMT+0800 (中国标准时间)
2. toTimeString
把 Date 对象的时间部分转换为字符串。
let date1 = new Date(‘2021/07/17 09:44:53’);
console.log(date1.toTimeString()); //09:44:53 GMT+0800 (中国标准时间)
3. toDateString
把 Date 对象的日期部分转换为字符串。
let date1 = new Date(‘2021/07/17 09:44:53’);
console.log(date1.toDateString()); //Sat Jul 17 2021
4. toUTCString
根据世界时,把 Date 对象转换为字符串。
let date1 = new Date(‘2021/07/17 09:44:53’);
console.log(date1.toUTCString()); //Sat, 17 Jul 2021 01:44:53 GMT
5. toLocaleString
根据本地时间格式,把 Date 对象转换为字符串。
let date1 = new Date(‘2021/07/17 09:44:53’);
console.log(date1.toLocaleString()); //2021/7/17 上午9:44:53
//这个方法还是比较实用,可以很容易的读懂时间
6. toLocaleTimeString
根据本地时间格式,把 Date 对象的时间部分转换为字符串。
let date1 = new Date(‘2021/07/17 09:44:53’);
console.log(date1.toLocaleTimeString()); //上午9:44:53
7. toLocaleDateString
根据本地时间格式,把 Date 对象的日期部分转换为字符串。
let date1 = new Date(‘2021/07/17 09:44:53’);
console.log(date1.toLocaleDateString()); //2021/7/17
1. valueOf
返回 Date 对象的原始值。
let date1 = new Date(‘2021/07/17 09:44:53’);
console.log(date1.valueOf()); //1626486293000
//可见在JavaScript中日期使用时间戳进行计算的
1. 日期格式化
将Date对象转换为指定的日期格式进行输出。
以下方法主要使用了正则表达式进行处理.
对正则表达式感兴趣可以移步至:八千字带你进入正则表达式的世界, 使用少量的代码完成数据验证/提取/替换等操作
//日期格式化
function getFormatDate(fmt, date) {
let opt = {
“y+”: date.getFullYear().toString(),// 年
“M+”: date.getMonth() + 1,//月份
“d+”: date.getDate(), //日
“h+”: date.getHours(), //小时
“m+”: date.getMinutes(), //分
“s+”: date.getSeconds(), //秒
“q+”: Math.floor((date.getMonth() + 3) / 3), //季度
“S”: date.getMilliseconds() //毫秒
// 有其他格式化字符需求可以继续添加,必须转化成字符串
};
if (/(y+)/.test(fmt))
fmt = fmt.replace(RegExp.$1, (date.getFullYear() + “”).substr(4 - RegExp.$1.length));
for (var k in opt)
if (new RegExp(“(” + k + “)”).test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (opt[k]) : ((“00” + opt[k]).substr((“” + opt[k]).length)));
return fmt;
}
示例
var crtTime = new Date(‘2021/07/17 09:44:53’);
console.log(getFormatDate(“yyyy-MM-dd hh:mm:ss:S”, crtTime));// 2021-07-17 09:44:53:0
2. 获取指定时区的时间
//获取指定时区的时间戳;因为目前还无法直接修改date对象的时区,所以使用时间戳方式返回
function getZoneTime(date, zone) {
var offset_GMT = date.getTimezoneOffset();
var current = date.getTime();
var targetDate = new Date(current + offset_GMT * 60 * 1000 + zone * 60 * 60 * 1000);
return targetDate.getTime();
}
示例
//已知北京(东八区),东京(东九区);两地时差1小时
var bjdate = new Date(‘2021/07/17 09:44:53’);
var djdate = new Date(getZoneTime(bjdate,9));
console.log(‘中国北京时间:’+getFormatDate(“yyyy-MM-dd hh:mm:ss:S”, bjdate)); // 中国北京时间:2021-07-17 09:44:53:0
console.log(‘日本东京时间:’+getFormatDate(“yyyy-MM-dd hh:mm:ss:S”, djdate)); // 日本东京时间:2021-07-17 10:44:53:0
3. 字符串时间戳互转
//时间戳转字符串
function getTimeToString(timestamp) {
return new Date(timestamp).toLocaleString();
}
//字符串转时间戳
function getStringToTime(datestr) {
return new Date(datestr.replace(/-/g, ‘/’)).getTime();
}
示例
console.log(‘时间戳转字符串:’ + getTimeToString(1626486293000)); // 时间戳转字符串:2021/7/17 上午9:44:53
console.log(‘字符串转时间戳:’ + getStringToTime(‘2021/07/17 09:44:53’)); // 字符串转时间戳:1626486293000
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
HTTP
-
HTTP 报文结构是怎样的?
-
HTTP有哪些请求方法?
-
GET 和 POST 有什么区别?
-
如何理解 URI?
-
如何理解 HTTP 状态码?
-
简要概括一下 HTTP 的特点?HTTP 有哪些缺点?
-
对 Accept 系列字段了解多少?
-
对于定长和不定长的数据,HTTP 是怎么传输的?
-
HTTP 如何处理大文件的传输?
-
HTTP 中如何处理表单数据的提交?
-
HTTP1.1 如何解决 HTTP 的队头阻塞问题?
-
对 Cookie 了解多少?
-
如何理解 HTTP 代理?
-
如何理解 HTTP 缓存及缓存代理?
-
为什么产生代理缓存?
-
源服务器的缓存控制
-
客户端的缓存控制
-
什么是跨域?浏览器如何拦截响应?如何解决?
请求方法?
-
GET 和 POST 有什么区别?
-
如何理解 URI?
-
如何理解 HTTP 状态码?
-
简要概括一下 HTTP 的特点?HTTP 有哪些缺点?
-
对 Accept 系列字段了解多少?
-
对于定长和不定长的数据,HTTP 是怎么传输的?
-
HTTP 如何处理大文件的传输?
-
HTTP 中如何处理表单数据的提交?
-
HTTP1.1 如何解决 HTTP 的队头阻塞问题?
-
对 Cookie 了解多少?
-
如何理解 HTTP 代理?
-
如何理解 HTTP 缓存及缓存代理?
-
为什么产生代理缓存?
-
源服务器的缓存控制
-
客户端的缓存控制
-
什么是跨域?浏览器如何拦截响应?如何解决?