为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

当年话下 2023-03-18 14:54:28
为了考试,我正在使用 React Native 构建一个资金管理器应用程序,但我在存储日期方面遇到了问题。应用程序应该能够列出每日、每月和每周的交易。有人可以帮我处理交易模式,尤其是如何处理日期吗?我的交易具有以下属性:数量类型(收入或支出)帐户(信用卡或现金)类别日期我正在获取日期,new Date()但它的值每毫秒都会变化,我需要同一天的交易才能具有相同的日期。另外,如果您对如何设计我的交易对象有更好的想法,请不要犹豫告诉我。
查看完整描述

1 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

这是一种比较使用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));



查看完整回答
反对 回复 2023-03-18
  • 1 回答
  • 0 关注
  • 115 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号