#region Apache License // // Licensed to the Apache Software Foundation (ASF) under one or more // contributor license agreements. See the NOTICE file distributed with // this work for additional information regarding copyright ownership. // The ASF licenses this file to you under the Apache License, Version 2.0 // (the "License"); you may not use this file except in compliance with // the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // #endregion using System; using System.Text; namespace log4net.DateFormatter { /// /// Formats the as "yyyy-MM-dd HH:mm:ss,fff". /// /// /// /// Formats the specified as a string: "yyyy-MM-dd HH:mm:ss,fff". /// /// /// Nicko Cadell /// Gert Driesen public class Iso8601DateFormatter : AbsoluteTimeDateFormatter { #region Public Instance Constructors /// /// Default constructor /// /// /// /// Initializes a new instance of the class. /// /// public Iso8601DateFormatter() { } #endregion Public Instance Constructors #region Override implementation of AbsoluteTimeDateFormatter /// /// Formats the date without the milliseconds part /// /// The date to format. /// The string builder to write to. /// /// /// Formats the date specified as a string: "yyyy-MM-dd HH:mm:ss". /// /// /// The base class will append the ",fff" milliseconds section. /// This method will only be called at most once per second. /// /// override protected void FormatDateWithoutMillis(DateTime dateToFormat, StringBuilder buffer) { buffer.Append(dateToFormat.Year); buffer.Append('-'); int month = dateToFormat.Month; if (month < 10) { buffer.Append('0'); } buffer.Append(month); buffer.Append('-'); int day = dateToFormat.Day; if (day < 10) { buffer.Append('0'); } buffer.Append(day); buffer.Append(' '); // Append the 'HH:mm:ss' base.FormatDateWithoutMillis(dateToFormat, buffer); } #endregion Override implementation of AbsoluteTimeDateFormatter } }