js new date()只保留年月日
时间: 2023-09-03 14:25:30 浏览: 252
### 回答1:
您可以使用以下代码来获取当前时间的年月日:
```javascript
const now = new Date();
const year = now.getFullYear();
const month = now.getMonth() + 1;
const day = now.getDate();
console.log(`${year}-${month}-${day}`);
```
或者,您也可以使用以下代码来获取指定日期的年月日:
```javascript
const dateStr = '2021-11-10';
const date = new Date(dateStr);
const year = date.getFullYear();
const month = date.getMonth() + 1;
const day = date.getDate();
console.log(`${year}-${month}-${day}`);
```
### 回答2:
在JavaScript中,我们可以使用new Date()来创建一个表示当前日期和时间的对象。但是如果你只想保留年月日部分,并且不需要时分秒和毫秒,有以下几种方法可以实现:
方法一:使用getFullYear()、getMonth()和getDate()方法来获取年、月和日的值,然后使用这些值创建一个新的日期对象。
```javascript
var currentDate = new Date();
var year = currentDate.getFullYear();
var month = currentDate.getMonth() + 1; // 月份是从0开始的,所以要加1
var day = currentDate.getDate();
var newDate = new Date(year, month, day); // 创建只包含年月日的新日期对象
```
这样,newDate对象就只包含年月日部分,而时分秒和毫秒都被设置为0。
方法二:使用setHours()、setMinutes()、setSeconds()和setMilliseconds()方法将小时、分钟、秒钟和毫秒都设置为0。
```javascript
var currentDate = new Date();
currentDate.setHours(0, 0, 0, 0); // 设置时分秒和毫秒都为0
var newDate = currentDate; // 创建只包含年月日的新日期对象
```
通过设置时分秒和毫秒为0,只保留年月日部分,其他时间部分就被忽略了。
无论使用哪种方法,都可以实现只保留年月日的效果。根据你的需求和具体情况,选择适合的方法即可。
### 回答3:
在JavaScript中,使用`new Date()`构造函数创建的Date对象默认会保留年份、月份、日期、小时、分钟、秒钟和毫秒。
如果只需要保留年、月、日,可以通过以下方法来实现:
1. 使用`getFullYear()`方法获取年份,`getMonth()`方法获取月份(返回值为0-11,需要加1才是实际月份),`getDate()`方法获取日期。
```javascript
var currentDate = new Date();
var year = currentDate.getFullYear();
var month = currentDate.getMonth() + 1; // 月份需要加1
var day = currentDate.getDate();
```
2. 使用`toISOString()`方法获取ISO格式的时间字符串,然后通过正则表达式提取出年、月、日的部分。
```javascript
var currentDate = new Date();
var dateStr = currentDate.toISOString().split('T')[0]; // 获取ISO格式的日期部分
var match = dateStr.match(/^(\d{4})-(\d{2})-(\d{2})$/);
var year = match[1]; // 年份
var month = match[2]; // 月份
var day = match[3]; // 日期
```
以上两种方法都可以得到只保留年、月、日的结果,可以根据实际需求选择其中一种方法使用。
阅读全文