如何在资金管理器应用程序中存储交易日期?

为了考试,我正在使用 React Native 构建一个资金管理器应用程序,但我在存储日期方面遇到了问题。应用程序应该能够列出每日、每月和每周的交易。

有人可以帮我处理交易模式,尤其是如何处理日期吗?我的交易具有以下属性:

  • 数量

  • 类型(收入或支出)

  • 帐户(信用卡或现金)

  • 类别

  • 日期

我正在获取日期,new Date()但它的值每毫秒都会变化,我需要同一天的交易才能具有相同的日期。

另外,如果您对如何设计我的交易对象有更好的想法,请不要犹豫告诉我。


当年话下
浏览 116回答 1
1回答

郎朗坤

这是一种比较使用Date对象/存储毫秒时间戳的两个事务是否发生在同一周、同一天或同一月的方法。const x = new Date("2020-09-19 11:55:30");const y = new Date("2020-09-17 14:12:44");Date.prototype.getWeekNumber = function() {  var d = new Date(Date.UTC(this.getFullYear(), this.getMonth(), this.getDate()));  var dayNum = d.getUTCDay() || 7;  d.setUTCDate(d.getUTCDate() + 4 - dayNum);  var yearStart = new Date(Date.UTC(d.getUTCFullYear(), 0, 1));  return Math.ceil((((d - yearStart) / 86400000) + 1) / 7)};function sameMonth(a, b) {  return a.getFullYear() == b.getFullYear() && a.getMonth() == b.getMonth();}function sameDay(a, b) {  return sameMonth(a, b) && a.getDate() == b.getDate();}function sameWeek(a, b) {  return a.getFullYear() == b.getFullYear() && a.getWeekNumber() == b.getWeekNumber();}console.log(x);console.log(y);console.log("same month:", sameMonth(x, y));console.log("same day:", sameDay(x, y));console.log("same week:", sameWeek(x, y));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript