Mike here with ASHA.
To answer your questions, no, there is no test that can determine how long someone has had herpes. A culture can only tell if virus is present or not and a blood test can only tell if antibodies (body's defense system) are present or not, but no test can say whether someone has had the virus for weeks, months or years. It's not uncommon for someone, male or female, to have herpes for a long time without knowing it. A person may have herpes for a long time, but not notice or recognize symptoms.
Regarding your second question, there is no one test that can check for all STDs/STIs. Some STDs are bacterial, some are viral so different types of testing have to be done depending on the STDs in question. Also, keep in mind that many "STD screenings" do not check for herpes. So if wanting to get checked for all STDs, one must make sure to mention herpes specifically.
ASHA Message Board Moderator