我需要将from itertools import product
l1, l2 = [1, 2, 3], ['a', 'b']
output = list(product(l1, l2))
# [(1, 'a'), (1, 'b'), (2, 'a'), (2, 'b'), (3, 'a'), (3, 'b')]
对象更改为其他格式。例如,我以此格式moment()
收到日期,我需要将其更改为'yyyy-mm-dd'
。我目前正在使用这个解决方案,我想知道有更优雅的方式吗?
'yyyy mm dd'
修改
所以似乎问题不在于瞬间对象的不同。这是我的完整代码:
let dateValue = moment(moment(value, 'YYYY-MM-DD').format('YYYY MM DD'), 'YYYY MM DD');
更改日期输入值时,我得到class EditRelation extends Component {
constructor(props) {
super(props);
const { validFrom, validTo } = props.relationMember;
this.state = {
validFrom: moment(validFrom, 'YYYY MM DD'),
validTo: moment(validTo, 'YYYY MM DD'),
}
this.handleChange = this.handleChange.bind(this);
}
handleChange(e) {
const { id, type, value } = e.target;
e.preventDefault();
if (type == 'date') {
const dateValue = moment(value, 'YYYY-MM-DD');
if (id == 'validTo' && dateValue < moment()) {
return;
}
this.setState({ [id]: dateValue });
} else {
this.setState({ [id]: value });
}
};
render() {
const { validFrom, validTo } = this.state;
return (
<form onSubmit={this.handleSubmit} ref={(form) => { this.form = form; }}>
<Label for="validFrom"><FormattedMessage id="RELATION_EDIT_MODAL.ACTIVE_FROM" /></Label>
<Input
type="date"
name="validFrom"
id="validFrom"
value={validFrom.format('YYYY-MM-DD')}
onChange={this.handleChange}
/>
<Label for="validTo"><FormattedMessage id="RELATION_EDIT_MODAL.ACTIVE_TIL" /></Label>
<Input
type="date"
name="validTo"
id="validTo"
value={validTo.format('YYYY-MM-DD')}
onChange={this.handleChange}
/>
</form>
);
}
}
我认为这是因为时刻对象格式不同,但似乎并非如此。
答案 0 :(得分:1)
在准备好将日期输出为类似字符串之前,您不需要指定格式。这是超级冗余的:
moment(moment(value, 'YYYY-MM-DD').format('YYYY MM DD'), 'YYYY MM DD')
因为您正在使用原始对象 - moment(value, 'YYYY-MM-DD')
- 将其转换为具有.format()
的字符串,并从该字符串创建相同的时刻对象。只需使用:
let dateValue = moment(value, 'YYYY-MM-DD')
您只需要等到必须打印字符串或执行其他需要特定格式的操作,然后调用:
dateValue.format('YYYY MM DD')
答案 1 :(得分:0)
基本上,最好不使用模块,因为它显示了你的解决问题的能力,你会更有信心。你可以使用for循环来做到这一点:
var date = '1999-03-10'
for(let i = 0; i < date.length; i++)
if (date[i] == "-")
date[i] = " "
console.log (date)
答案 2 :(得分:0)
let parsedDate = moment('2014-02-22', 'YYYY-MM-DD');
console.log('parsedDate', parsedDate); // moment object
let dateInNewFormat = parsedDate.format('YYYY MM DD');
console.log('dateInNewFormat', dateInNewFormat); // date string in new format
答案 3 :(得分:0)
const value = '2017-10-24'
const date = moment(value).format('YYYY MM DD')
//2017 10 24