Mercurial Hosting > nabble
diff src/nabble/view/web/template/DateNamespace.java @ 0:7ecd1a4ef557
add content
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Thu, 21 Mar 2019 19:15:52 -0600 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/nabble/view/web/template/DateNamespace.java Thu Mar 21 19:15:52 2019 -0600 @@ -0,0 +1,50 @@ +package nabble.view.web.template; + +import nabble.naml.compiler.Command; +import nabble.naml.compiler.CommandSpec; +import nabble.naml.compiler.IPrintWriter; +import nabble.naml.compiler.Interpreter; +import nabble.naml.compiler.Namespace; + +import java.text.SimpleDateFormat; +import java.util.Date; + + +@Namespace ( + name = "date", + global = false +) +public final class DateNamespace { + private final Date date; + + public DateNamespace(Date date) { + this.date = date; + } + + @Command public void raw_time(IPrintWriter out,Interpreter interp) { + out.print( date.getTime() ); + } + + public static final CommandSpec custom_format = new CommandSpec.Builder() + .parameters("format") + .build() + ; + + @Command public void custom_format(IPrintWriter out, Interpreter interp) { + String format = interp.getArgString("format"); + out.print(new SimpleDateFormat(format).format(date)); + } + + public static final CommandSpec is_older_than = new CommandSpec.Builder() + .parameters("days") + .build() + ; + + @Command public void is_older_than(IPrintWriter out, Interpreter interp) { + int days = interp.getArgAsInt("days"); + long diffFromNow = System.currentTimeMillis() - date.getTime(); + float daysFromNow = diffFromNow / (24 * 60 * 60 * 1000); + out.print(daysFromNow > days); + } + +}