我真正的应用程序问题看起来如下所示
Employee empl = new Employee(397947, "David", "Redson", 80000);
employees.Add(empl);
employees.Add(new Employee(174966, "Alfred", "Swanson", 50000));
employees.Add(new Employee(848024, "Alima", "Bieyrou", 40000));
employees.Add(new Employee(number: 397462, fName: "Robert",
lName: "Nants", salary: 30000));
string s = employees.Where(a => a.EmployeeNumber == 20000).FirstOrDefault().FirstName;
Run Code Online (Sandbox Code Playgroud)
当我使用FirstOrDefault时,它在没有匹配记录时抛出错误.如果有匹配的记录,我想返回值,否则它可以为null或空.
我有一个使用格式化日期的函数,
export function FormatDate(date: string) {
if (date != null) {
return moment.utc(date).format('DD MMM YYYY');
}
else
return "";
}
Run Code Online (Sandbox Code Playgroud)
但问题是空日期被接收为“0001-01-01”(DateTime Min 值)。我怎样才能用moment js检查它?
找不到直接的方法来做到这一点。以下代码有效,但很难看,
new moment("0001-01-01").format("DD MMM YYYY") == moment.utc(date).format("DD MMM YYYY")
Run Code Online (Sandbox Code Playgroud)
我收到的“日期”是“/Date(-62135596800000)/”格式。
我试过,moment.utc(date).isAfter("0001-01-01")但效果不佳,返回true。
检查序列化日期不是最小日期的最佳方法是什么?