Custom Formatter with String.Format

C

clintonG

TimeSpan utcOffset = localZone.GetUtcOffset(DateTime.Now);
MessageLabel.Text = utcOffset.ToString( ); // returns -06:00:00

Instead of -06:00:00 I want -06:00.
Apparently the custom formatter should be 0:zzz but I can't figure out the
correct String.Format grammar to get the desired result.
Can you?

<%= Clinton Gallagher
 
T

Tim Scott

Clinton,

I did some searching for "TimeSpan format" on the .NET newsgroups, and
found some other messages asking similar questions. It looks like
TimeSpan is not as nicely formattable as other classes and structs in
..NET (like DateTime). One suggestion to get what you were asking for
is something like:

string formatedTimeSpan=String.Format("{0:00}:{1:00}", utcOffset.Hours,
utcOffset.Minutes);

See
http://groups.google.com/group/microsoft.public.dotnet.languages.csharp/msg/e5a8dcf28516873f

-- Tim Scott
http://geekswithblogs.net/tscott
 
G

Guest

If you're just formatting your time for display you could do something like

DateTime displayTime = DateTime.MinValue + time;
Console.WriteLine(displayTime.ToString("-HH:mm");

HTH
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top