Firstly, in FX, it all depends on the currencies. As an example, CAD is generally traded t+1 against USD, but is also frequently traded t+2. A EUR/CHF forward can take into account USD holidays (to permit arbitrage or take into account a position via USD), or ignore them.
Basically it's an OTC market and the less common the trade, the more variable the specifics.
- Country of trade
- Inclusion of major currency holidays (USD, EUR)
- Holidays of traded currencies
- Spot (t+?) for both currencies
- Weekend days
- Deliverable or non-deliverable (non deliverable can choose to ignore currency holidays)
It is down to the traders (or these days their e-trading platform) to decide exactly which dates they want to trade for.
If you're thinking 'then how can I interpret market data', then you're on the right lines; there are striaghtforward conventions, but I'm afraid not all sources quote the same way. G10/11 are fairly standard (except CAD), but outside that it's down to market knowledge.
Generally: Use t+2 except for specific pairs, include USD holidays, include holidays and weekends for both currencies. And check your sources.
For a term stated in days or weeks, jump to that offset from the start date (e.g. SW, 7 calendar days from the spot date) and then adjust (usually rolling forward) for holidays in either currency (or again USD if required).
1m, 2m... 1y, 2y
Calendar periods in whole months or years follow a similar procedure to weeks except if the end date lands in a following month - then there is a choice of month end rule to use. A common one in G11 currencies is end-end, where you roll back to the last business day of the matching month (so 1m goes 31 Jan - 28 Feb not Mar).
Often this is used to match end-ness of the start date, so 28 Feb 1m would land 31 Mar, or even 26 Feb to 31 Mar if 26th is a Friday.
Why end of month rules?
Holding money in one or other currency (particularly USD) over a month end is usually different to other days, as a result of accounting and regulatory requirements, and whether the required currency is in demand or not. So to ensure that the trade correctly covers month ends or not, end of month rules ensure that small differences in calendars from one month or year to another don't result in additional exposures, i.e. no surprises.