Dit is handig als je [[Obsidian]] gebruikt in combinatie met [[Obsidian Dataview]]. Helaas kan ik de actuele data niet laten zien omdat dat [[Obsidian Publish]] dat niet ondersteund. Zorg dat je de Dataview plugin installeert en kopieer de code hieronder: # DataviewJS - Dagen, weken, maanden, jaren optellen ## Dagen ```dataviewjs // Dagen let today = moment(); // Gebruikt de huidige datum als uitgangsdatum let dayTable = [ { type: "-1 / Gisteren", daysOffset: -1 }, { type: "0 / Vandaag", daysOffset: 0 }, { type: "+1 / Morgen", daysOffset: 1 }, { type: "+7 dagen / 1 week", daysOffset: 7 }, { type: "+14 dagen / 2 weken", daysOffset: 14 }, { type: "+21 dagen / 3 weken", daysOffset: 21 }, { type: "+28 dagen / 4 weken", daysOffset: 28 }, { type: "+29 dagen", daysOffset: 29 }, { type: "+30 dagen", daysOffset: 30 }, { type: "+31 dagen", daysOffset: 31 } ]; dv.table( ["Dagen", "Datum", "Weekdag"], dayTable.map(row => [ row.type, today.clone().add(row.daysOffset, 'days').format("DD-MM-YYYY"), today.clone().add(row.daysOffset, 'days').format("dddd") ]) ); ``` ## Kalender Maanden ```dataviewjs let today = moment(); // Gebruikt de huidige datum als uitgangsdatum // Maanden let monthTable = [ { type: "+1 maand", monthsOffset: 1 }, { type: "+2 maanden", monthsOffset: 2 }, { type: "+3 maanden", monthsOffset: 3 }, { type: "+4 maand", monthsOffset: 4 }, { type: "+5 maanden", monthsOffset: 5 }, { type: "+6 maanden", monthsOffset: 6 } ]; dv.table( ["Kalender Maanden", "Datum", "Weekdag"], monthTable.map(row => [ row.type, today.clone().add(row.monthsOffset, 'months').format("DD-MM-YYYY"), today.clone().add(row.monthsOffset, 'months').format("dddd") ]) ); ``` ## Kalender Jaren ```dataviewjs let today = moment(); // Gebruikt de huidige datum als uitgangsdatum // Jaren let yearTable = [ { type: "+1 jaar", yearsOffset: 1 }, { type: "+5 jaar", yearsOffset: 5 }, { type: "+10 jaar", yearsOffset: 10 } ]; dv.table( ["Kalender jaren", "Datum", "Weekdag"], yearTable.map(row => [ row.type, today.clone().add(row.yearsOffset, 'years').format("DD-MM-YYYY"), today.clone().add(row.yearsOffset, 'years').format("dddd") ]) ); ``` # DataviewJS - Minimale leeftijd 18 ```dataviewjs let today = moment(); // Gebruikt de huidige datum als uitgangsdatum let table = [ { type: "Gisteren 18 jaar", yearsOffset: -18, daysOffset: -1 }, { type: "Vandaag 18 jaar", yearsOffset: -18, daysOffset: 0 }, { type: "Morgen 18 jaar", yearsOffset: -18, daysOffset: 1 } ]; dv.table( ["Omschrijving", "Geboortedatum", "Weekdag"], table.map(row => [ row.type, today.clone().add(row.yearsOffset, 'years').add(row.daysOffset, 'days').format("DD-MM-YYYY"), today.clone().add(row.yearsOffset, 'years').add(row.daysOffset, 'days').format("dddd") ]) ); ``` # Fixed Datum Als je op een specifieke datum test dan wil je je testdata misschien vastleggen of je wilt op basis van een specifieke datum rekenen ipv vandaag. dan moet je de eerste regel veranderen naar ```dataviewjs // Stel een vaste datum in als basis of vraag de gebruiker deze in te stellen via een variabele let today = moment("2024-01-01", "YYYY-MM-DD"); // Pas deze datum aan naar wens ```