okay, I'm trying to get the best of both worlds, i.e. using this method 
(using yyyy-mm-dd to count days) and using the days operator (which 
requires yyyymmdd format), so I need to use yyyymmdd format in my "due" 
field, but convert it to a yyyy-mm-dd format within this jsmacro.

I though this should work:
/*\
title: $:/inmysocks/macros/day-diff2.js
type: application/javascript
module-type: macro

Takes two dates and returns their difference in days

\*/
(function(){

/*jslint node: true, browser: true */
/*global $tw: false */
"use strict";

/*
Information about this macro
*/

exports.name = "day-diff2";

exports.params = [
{name: "duedate"}
];

/*
Run the macro
*/
exports.run = function(duedate) {
//Make each date object.
var date1 = new Date();
var mydate = new Date(duedate);
var year = mydate.substring(0,4);
var month = mydate.substring(4,6);
var day = mydate.substring(6,8);
var date2 = year + '-' + month + '-' + day;

//Find difference in milliseconds.
var elapsed = date2.getTime()-date1.getTime();

//Number of milliseconds in a day.
var dayMS = 86400000; 

//Convert milliseconds to year months and days
var days_diff = Math.floor(elapsed/dayMS);
var result = days_diff;

return date2;
};

})();

but I get this error: Uncaught TypeError: mydate.substring is not a function

I tried using "mydate".substring(0,4); and ''mydate''.substring(0,4);  after 
googling the error

but that's not working either.

I realise asking for help on this is pushing the boundaries here as its not 
strictly Tiddlywiki now.  Maybe I should look for a javascript forum, but 
I'm  not sure where javascript ends and tiddlywiki begins...

thanks

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to tiddlywiki+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/a5d80e31-15fc-4cb2-aba9-9a52ef113190%40googlegroups.com.

Reply via email to