#import( 'dart:html' ); main() { var today = new Date.now(); var firstDay = new Date( today.year, today.month, 1); var lastDay = new Date( today.year, today.month+1, 1 ).subtract( const Duration(1) ); var calendar = new Element.html( '''
'''); var createWeek = () { var week = new TableRowElement(); for( var i=0; i<7; i++ ) week.nodes.add( new TableCellElement() ); return week; }; var currentDay = new Date( today.year, today.month, 1); var tbody = calendar.query( 'tbody' ); var week; while( currentDay <= lastDay ) { if( currentDay.day == 1 || currentDay.weekday == Date.MON ) tbody.nodes.add( (week = createWeek()) ); week.nodes[ currentDay.weekday-1 ].addText( currentDay.day.toString() ); currentDay = currentDay.add( const Duration(1) ); } document.query( 'body' ).nodes.add( calendar ); }