我是Angular的新手。我正在将Angular 8与ASP.net Core一起使用。
我安装了ng-Bootstrap,因此可以获得不错的DatePicker。由于某种原因,DatePicker使用其自己的格式存储日期,就像这样。
开始日期:{年:2019,月:8,天:31}
我需要创建一个新的Date对象并像这样存储日期。
开始日期:“ 2019-31-08”
这不起作用。
var newDate = new Date(StartDate.getFullYearUtc(), StartDate.getMonthUtc(), Start.getDayUtc);
这不起作用。它创建了一个奇怪的日期。
var newDate = new Date("2019-31-08");
这不起作用。它想创建一个字符串。
var date = this.datePipe.transform(StartDate, "yyyy-MM-dd");
这将转换为字符串。
var newDate = new Date("2019-31-08").toISOString();
有人知道如何在不转换为字符串的情况下创建新的Date对象吗?
非常感谢您的帮助!谢谢!
答案 0 :(得分:0)
var newDate = new Date(2019, 7, 31);
将使用这些值创建一个新的日期对象。可以在这里找到更多信息:https://www.w3schools.com/js/js_dates.asp
答案 1 :(得分:0)
哇,真是一团糟!我首先不得不花时间来阅读日期。然后,我能够将ISO字符串转换为ASP.Net Core Web API可以使用的日期。
转换为ISO字符串
var startDate = moment(content.StartDate).add(-1,'M').toISOString();
ISO字符串转换为日期
const newStartDate = moment(startDate, moment.defaultFormatUtc).toDate();
日期的格式仍然不像使用表单中的普通Angular Date对象那样,但是至少ASP.Net可以使用它。
Asp.Net Core Web API
Convert.ToDateTime(content.StartDate);
“转换为ISO字符串”方法不适用于所有NgbDates。我修改了此转换器以使用Date。这似乎可以解决问题。