PageRenderTime 41ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/base/Applications/Date/Date.cs

#
C# | 62 lines | 44 code | 9 blank | 9 comment | 0 complexity | 3c7932734456e1d13e9179bc9a8e8e24 MD5 | raw file
  1. ////////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Microsoft Research Singularity
  4. //
  5. // Copyright (c) Microsoft Corporation. All rights reserved.
  6. //
  7. // Note: Simple Singularity test program.
  8. //
  9. using System;
  10. using Microsoft.Singularity.V1.Services;
  11. using Microsoft.Contracts;
  12. using Microsoft.SingSharp.Reflection;
  13. using Microsoft.Singularity.Applications;
  14. using Microsoft.Singularity.Channels;
  15. using Microsoft.Singularity.Io;
  16. using Microsoft.Singularity.Configuration;
  17. [assembly: Transform(typeof(ApplicationResourceTransform))]
  18. namespace Microsoft.Singularity.Applications
  19. {
  20. [ConsoleCategory(HelpMessage="Show attributes associated with a file", DefaultAction=true)]
  21. internal class Parameters {
  22. [InputEndpoint("data")]
  23. public readonly TRef<UnicodePipeContract.Exp:READY> Stdin;
  24. [OutputEndpoint("data")]
  25. public readonly TRef<UnicodePipeContract.Imp:READY> Stdout;
  26. reflective internal Parameters();
  27. internal int AppMain() {
  28. return Date.AppMain(this);
  29. }
  30. }
  31. public class Date
  32. {
  33. private static void ConsoleWriteDateTime(string preamble, DateTime dt)
  34. {
  35. Console.WriteLine("{0}{1:d4}/{2:d2}/{3:d2} {4:d2}:{5:d2}:{6:d2}.{7:d3}",
  36. preamble, dt.Year, dt.Month, dt.Day,
  37. dt.Hour, dt.Minute, dt.Second, dt.Millisecond);
  38. }
  39. private static void ConsoleWriteTimeSpan(string preamble, TimeSpan sp)
  40. {
  41. Console.WriteLine("{0}{1:d5} days {2:d2}:{3:d2}:{4:d2}.{5:d3}",
  42. preamble, sp.TotalDays,
  43. sp.Hours, sp.Minutes, sp.Seconds, sp.Milliseconds);
  44. }
  45. //[ShellCommand("date", "Display date and time")]
  46. internal static int AppMain(Parameters! config)
  47. {
  48. ConsoleWriteTimeSpan("Kernel: ", ProcessService.GetUpTime());
  49. ConsoleWriteDateTime("UTC: ", DateTime.UtcNow);
  50. return 0;
  51. }
  52. }
  53. }