我尝试将日期设置为午夜以简化日期操作,为此我写了这部分代码:
var now = new Date();
today = now.setHours(0,0,0,0);
console.log(now, today);
我很惊讶地看到now
包含Date对象,today
包含时间戳。当我想使用getMonth()或其他日期函数时,这会带来错误。使用时间戳重新创建Date对象很有意义。
这是正常的吗?我该如何解决这个问题?
(随意更新我的帖子以纠正我的坏英语:)
答案 0 :(得分:5)
这是正常的吗?
是
我该如何解决这个问题?
您要将now.setHours(0,0,0,0)
的返回值指定为today
。
也许您正在寻找的是这样的:
var now = new Date();
var today = new Date();
today.setHours(0,0,0,0);
通过这种方式,setHours
将根据您希望设置小时数的值进行操作。这是使用setHours
的主要方式。
其他详情
SET_LOCAL_DATE_VALUE
函数将值赋值给第一个参数。答案 1 :(得分:0)
date.js:
Date.today().set({ hour : 0 });
moment.js
moment().set({ "hour": 0, "minute" : 0, "second": 0});
答案 2 :(得分:0)
我有类似的情况,而且回答没有解决我的问题......
我做的是:
@Entity
public class Employee {
@EmbeddedId
private EmployeeId id;
@ManyToOne
@MapsId("personId") // Corresponds to the name of EmployeeId.personId
private Person person;
@ManyToOne
@MapsId("branchId") // Corresponds to the name of EmployeeId.branchId
private Branch branch;
}
@Embeddable
public class EmployeeId {
private Long personId; // Corresponds to the type of Person ID
private Long branchId; // Corresponds to the type of Branch ID
}