コード例 #1
0
ファイル: ZmanimFormatter.cs プロジェクト: ayahc1093/Zmanim
        ///<summary>
        ///  This returns the xml representation of an xsd:duration object.
        ///</summary>
        ///<param name = "time"> the duration as a Time object  </param>
        ///<returns> the xsd:duration formatted String </returns>
        public virtual string FormatXSDDurationTime(Time time)
        {
            var duration = new StringBuilder();

            duration.Append("P");

            if (time.Hours != 0 || time.Minutes != 0 || time.Seconds != 0 || time.Milliseconds != 0)
            {
                duration.Append("T");

                if (time.Hours != 0)
                    duration.Append(time.Hours + "H");

                if (time.Minutes != 0)
                    duration.Append(time.Minutes + "M");

                if (time.Seconds != 0 || time.Milliseconds != 0)
                {
                    duration.Append(time.Seconds + "." + time.Milliseconds.ToString(milliNF));
                    duration.Append("S");
                }
                if (duration.Length == 1) // zero seconds
                    duration.Append("T0S");
                if (time.IsNegative)
                    duration.Insert(0, "-");
            }
            return duration.ToString();
        }
コード例 #2
0
ファイル: ZmanimFormatter.cs プロジェクト: ayahc1093/Zmanim
 ///<summary>
 ///  A method that formats <see cref = "Time" />objects.
 ///</summary>
 ///<param name = "time">
 ///  The time <c>Object</c> to be formatted. </param>
 ///<returns> String The formatted <c>String</c> </returns>
 public virtual string Format(Time time)
 {
     if (timeFormat == XSD_DURATION_FORMAT)
     {
         return FormatXSDDurationTime(time);
     }
     var sb = new StringBuilder();
     sb.Append(time.Hours.ToString(hourNF));
     sb.Append(":");
     sb.Append(time.Minutes.ToString(minuteSecondNF));
     if (useSeconds)
     {
         sb.Append(":");
         sb.Append(time.Seconds.ToString(minuteSecondNF));
     }
     if (useMillis)
     {
         sb.Append(".");
         sb.Append(time.Milliseconds.ToString(milliNF));
     }
     return sb.ToString();
 }