linux 获取上月月份,如今天是2023年5月31号 执行date -d"1 month ago" +"%Y%m" 得到的还是本月
时间: 2023-07-21 17:17:11 浏览: 44
如果你想要获取上个月的月份,可以使用以下命令:
```
date -d "$(date +%Y-%m-15) -1 month" +%m
```
这个命令的逻辑和上一个回答中的类似,只是最后的输出格式变成了 `%m`,表示输出月份(两位数表示,例如 `01`、`02`、`12` 等)。这样就可以获得上个月的月份了。
相关问题
linux 获取上月日期,如今天是2023年5月31号 执行`date -d"1 month ago" +"%Y%m"` 得到的还是5月的
你可以使用以下命令获取上一个月的日期:
```
date -d "$(date +%Y-%m-15) -1 month" +%Y%m%d
```
这个命令的逻辑是:
1. `$(date +%Y-%m-15)` 获取当前日期的年月,这里假设为 `2023-05-15`。
2. `-1 month` 表示向前推一个月。
3. `%Y%m%d` 表示输出的日期格式为年月日,例如 `20230430`。
这样就可以获得上一个月的日期了。
el-date-picker结束月份默认为当前上月并且是同一年份
好的,问题已经记录下来了。关于你的问题,我可以提供以下代码片段来实现你的需求:
```
<el-date-picker
v-model="endDate"
type="month"
:picker-options="pickerOptions"
></el-date-picker>
```
```
data() {
return {
endDate: null,
pickerOptions: {
disabledDate(date) {
const currentMonth = new Date().getMonth() + 1;
const currentYear = new Date().getFullYear();
const selectedMonth = date.getMonth() + 1;
const selectedYear = date.getFullYear();
return selectedYear > currentYear || (selectedYear === currentYear && selectedMonth > currentMonth);
},
shortcuts: [{
text: '上月',
onClick(picker) {
const lastMonth = new Date();
lastMonth.setMonth(lastMonth.getMonth() - 1);
picker.$emit('pick', lastMonth);
}
}]
}
}
},
```
这段代码可以实现 `el-date-picker` 的结束月份默认为当前上月,并且是同一年份的功能。具体实现方式是通过 `pickerOptions` 来设置禁用未来日期的选项,同时添加一个名为 "上月" 的快捷方式,当用户点击该快捷方式后,会默认选择当前上个月的日期。