JS时间函数Date的一些知识点和小坑

本文深入解析JavaScript中的Date对象,涵盖new Date()的各种用法,包括获取当前日期、指定日期、日期转换、日期部分和时间部分的提取,以及如何计算某月的天数和第一天是周几等实用技巧。

前几天写一个日期的插件,被Date的一些函数搞得晕头转向,总结一下:

1.知识点

  1. new Date() ,返回中国标准时间的当前日期和时间,Tue Apr 14 2020 22:22:37 GMT+0800 (中国标准时间)
  2. new Date(year,month,day) ,返回中国标准时间的指定日期的00:00:00比如,我输入new Date(2020,4,1),则会返回Fri May 01 2020 00:00:00 GMT+0800 (中国标准时间),这里一定要注意,month的取值为0-11,所以如果要获取yyyy年mm月dd日,应该为new Date(yyyy,mm-1,dd)
  3. new Date(“2020-4-1”) ,返回指定日期的00:00:00,Wed Apr 01 2020 00:00:00 GMT+0800 (中国标准时间)
  4. getDate() ,从 Date 对象返回一个月中的某一天 (1 ~ 31)new Date(“2020-4-12”).getDate(),返回12
  5. getDay() ,从 Date 对象返回某一天是周几 (0 ~ 6),分别对应周日到周六。new Date(“2020-4-12”).getDay(),返回0,即为周日
  6. getMonth() ,从 Date 对象返回月份 (0 ~ 11),这里一定要注意。new Date(“2020- 4 -12”).getMonth(),返回 3 ,如果在页面上显示,一定要记得加1
  7. getFullYear() ,从 Date 对象返回年份。new Date(“2020-4-12”).getFullYear(),返回 2020
  8. getHours(),getMinutes(),getSeconds(),getMilliseconds() ,从 Date 对象返回小时,分钟,秒,毫秒,这里没啥好说的
  9. getTime() ,从 Date 对象返回 1970 年 1 月 1 日至今的毫秒数。
  10. **toString() **,把Date对象转成字符串,newDate().toString返回字符串 “Tue Apr 14 2020 22:55:16 GMT+0800 (中国标准时间)”
  11. **toTimeString()和toDateString() **,分别是把Date对象的时间部分和日期部分转成字符串,newDate().toString返回字符串 “Tue Apr 14 2020 22:55:16 GMT+0800 (中国标准时间)”
  12. valueOf(),返回Date对象的时间戳

小坑啊小坑

获取某月的最后一天

从上面我们已经知道,newDate(“yyyy-MM-dd”),返回指定日期与时间,那当传的day=0时,会自动往前推一天,就是上个月的最后一天啦,当然就可以通过getDate获取到是几了,所以,假如要获取4月的天数,那么就是newDate(“2020-5-0”).getDate(),
同样newDate(yyyy,MM,dd)也是返回指定日期与时间,但是,这里要注意month取值0-11,所以,假如获取4月时间,这里应该是newDate(2020,4,0).getDate(),是的,你没看错,这里传的就是4

获取某月的第一天是周几

其实坑是一样的,都是month取值为0-11,周几取值0-6,比如获取2020年4月的第一天是周几就是newDate(2020,3,1).getDay()或者newDate(“2020-4-1”).getDay()

目前就想到这么多,以后遇到再补充了

<think>我们正在为一位零基础学习数据分析的用户整理课程资料,重点是包含数据分析相关知识点的讲解,适合初学者。根据用户提供的引用,我们需要结合这些引用来构建课程内容。同时,用户之前的问题我们的回答已经有一个课程大纲,现在需要更具体的课程资料,特别是知识点的讲解。 参考引用: 引用[1]:建议初学者先读有趣的数据分析书籍(如《谁说菜鸟不会数据分析》),然后学习统计知识(推荐教材《统计学》第五版),再结合软件操作视频案例,最后结合实际工作问题。 引用[2]:推荐了MySQL在线课程,但用户当前需求是数据分析,MySQL是数据库,可以作为数据存储部分,但并不是数据分析的核心工具(核心是Python统计)。 引用[3]:讲的是链表的学习资源,属于数据结构,与当前需求关联不大。 因此,我们主要参考引用[1]的建议,结合之前整理的五个阶段,为每个阶段补充具体的知识点讲解资源推荐。 课程资料整理思路: 1. 按照之前划分的五个阶段,每个阶段给出具体知识点讲解。 2. 每个知识点要详细说明,适合初学者理解。 3. 结合引用[1]推荐的书统计知识,将统计知识融入阶段2阶段3。 4. 资源推荐要包括书籍、在线课程练习平台。 注意:由于用户是零基础,讲解要通俗易懂,避免过于专业的术语,必要时举例。 课程内容如下:</think>### 零基础数据分析课程资料与知识点详解 结合引用[^1]建议的“趣味入门→统计基础→工具实操→模型应用”路径,为初学者整理以下结构化课程内容,包含核心知识点讲解配套资源推荐。 --- #### 一、基础准备阶段(2-3周) **目标**:建立数据分析思维框架 1. **趣味入门(核心)** - **知识点**:数据分析流程(问题定义→数据收集→清洗→分析→可视化→决策) - **讲解**:通过生活案例理解分析逻辑(例:用超市购物数据优化商品摆放) - **资料**: - 书籍:《谁说菜鸟不会数据分析》[^1](图解式讲解,零门槛) - 视频:B站《数据分析入门:从零到一》(免费) 2. **统计基础(关键)** - **知识点**: - 描述统计:均值 $\bar{x} = \frac{1}{n}\sum_{i=1}^{n} x_i$、方差 $s^2 = \frac{\sum (x_i - \bar{x})^2}{n-1}$ - 概率分布:正态分布 $X \sim \mathcal{N}(\mu, \sigma^2)$ - **讲解**:用电商案例解释统计指标(例:用户年龄分布分析) - **资料**:教材《统计学》第五版(贾俊平)[^1] + 配套习题集 --- #### 二、工具技能阶段(6-8周) **目标**:掌握数据处理全流程工具链 1. **Excel 基础(2周)** - **知识点**: - 数据清洗:去除重复值、文本分列 - 函数应用:VLOOKUP、SUMIF、数据透视表 - **案例**:销售报表制作与业绩分析 2. **Python 核心库(4周)** | 库名称 | 核心知识点 | 应用场景 | |--------|------------|----------| | **Pandas** | DataFrame操作、缺失值填充、分组聚合 | 用户行为数据清洗 | | **NumPy** | 数组运算、广播机制 | 数值计算加速 | | **Matplotlib** | 折线图/柱状图定制、子图布局 | 销售趋势可视化 | - **案例**:分析电影评分数据集(IMDB 5000) 3. **SQL 基础(2周)** - **知识点**: - 查询语句:`SELECT`、`JOIN`、`GROUP BY` - 函数:`COUNT()`、`AVG()`、`DATE_FORMAT()` - **资源**:Udemy《MySQL for Data Analytics》[^2](约$10) --- #### 三、分析方法阶段(4-6周) **目标**:掌握核心分析模型与场景应用 1. **探索性分析(EDA)** - **知识点**: - 相关性分析:皮尔逊系数 $\rho_{X,Y} = \frac{\text{cov}(X,Y)}{\sigma_X \sigma_Y}$ - 异常值检测:箱线图 IQR 法则 - **案例**:信用卡交易数据异常检测 2. **机器学习入门** - **模型与公式**: | 模型 | 公式 | 适用场景 | |------|------|----------| | 线性回归 | $y = \beta_0 + \beta_1x_1 + \epsilon$ | 房价预测 | | K-Means | $\text{argmin}_S \sum_{i=1}^{k} \sum_{\mathbf{x} \in S_i} \|\mathbf{x} - \mu_i\|^2$ | 用户分群 | - **工具**:Scikit-learn 库实战 --- #### 四、实战资源包(免费获取) 1. **数据集**: - Kaggle:Titanic(生存预测)、House Prices(回归预测) - UCI:Iris(分类)、Wine Quality(质量评估) 2. **在线工具**: - 编程练习:LeetCode《数据分析题库》、DataCamp - 可视化:Tableau Public(免费版) 3. **学习路径**: ```mermaid graph LR A[趣味书籍入门] --> B[统计基础] B --> C[Excel/SQL工具] C --> D[Python数据分析] D --> E[机器学习应用] ``` --- #### 避坑指南 1. **数学准备**:仅需高中统计基础,复杂公式由工具自动计算[^1] 2. **学习顺序**:先掌握Excel/SQL再学Python,避免同时接触多工具 3. **项目选择**:从<10MB的小数据集开始(如电影评分、超市销售) > 关键提示:引用[^1]强调结合工作问题学习效果最佳,建议同步分析个人兴趣数据(如运动记录、消费账单)[^1]。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值