title: Timestamp of when address received a token in solidity
body: <p>Trying to find a way or documentation in obtaining the <code>timestamp</code> of when an address received the token in a smart contract.</p>
  <p>I have read many <code>reflection</code> based contracts that apply different levels of fees on receiving and sending the token based on the time, but naively, isn't the following just taking from the start of the swap to that point in the function being called?</p>
  <pre><code>uint256 private _start_timestamp = block.timestamp;
  
  function _getMultiplier() private view returns (uint256) {
      uint256 time_since_start = block.timestamp - _start_timestamp;
      uint256 hour = 60 * 60;
      if (time_since_start &lt; 1 * hour) {
          return (3);
      } else if (time_since_start &lt; 2 * hour) {
          return (2);
      } else {
          return (1);
      }
  }
  </code></pre>
  <p>Am I correct in my understanding that <code>block.timestamp</code> is only applicable from contract creation?</p>
  <p>If so, I need to know if the current address is sending the token, when did they receive the token. How is this possible?</p>
  <p>Another thing that has crossed my mind, I had initially thought I could use the Pancakeswap router to identify the timestamp. However, whilst the initial liquidity will be added to Pancakeswap, the same logic needs to be applied to exchanges.</p>