I want to write the current date plus a number of days into a DB (using ADO, JScript)
What I've come up is this:
// a) Add three days
var now = new Date();
expires = new Date( now.valueOf + days * 1000 * 60 * 60 * 24);
// b) write to db - parametrized query:
// using VT_DATE (adDate) type
Command.CommandText = "Insert INTO ... (...,?,...)
Command.CommandType = ...
Command.Parameters.Append(
Command.CreateParameter("foo", 7 /*adDate*/, 1 /*adParamInput*/,
8, expires.getVarDate());
It works, almost, to say the best.
a) the crude way to add the n days to now makes me feel uneasy. Isn't there a better way?
b) Same for adding to insert statement. The Time part get's truncated (i.e. only the date part is written to DB). I can't use a string, like expires.toLocaleString, because this gores over the hill if the locales of OS and JetDB differ.
(e.g. MS Access german, and OS/IIS is English -> July 2nd, which is 07/02/2001 in US locale, is parsed happily as Feb 07, 2001.)
I could create a string in adDBTimeStamp from the date - but this requires a whole lotta hell of instructions that don't seem worth it.
Is Date Handling always that terrifying as soon as you leave US, or do I miss the obvious?
100 pts for a "straightforward" solution, or if you can make me giggle about all this date stuff.
----------
Warning: life may offend
"Insert into tablename (...,DateAdd) values (...,GetDate() + 3)"