My Amazfit Bip ($99) is supposed to have 45 days and lasts about 30 days on minute heart rate monitoring intervals (based on a month and a half of trying it).
I wanted something a bit smaller, to fit under the shirt cuff, so got the Mi Band 3 ($50) which lasts about 10 days (probably 20 days if you don't allow it to display notifications and set a higher HR interval).
The Mi app is pretty bad, which forces you to buy an extra app (for me, Notify & Fitness, for Google Fit sync).