2012-06-12 5 views
0

Я получил эту строку:Vb.net миллисекунды Формат

00:00:59,950 


позволяет сказать, что я хочу:
00: 00: 59.950 + 100

то строка выглядит следующим образом:
00: 01: 00,050
есть функция tha t может это сделать?

ответ

2

Вы можете использовать TimeSpan типа справиться с этим:

Dim ci = CultureInfo.InvariantCulture 
Dim original As TimeSpan = TimeSpan.ParseExact("00:00:59,950", "hh\:mm\:ss\,fff", ci) 
Dim difference As TimeSpan = TimeSpan.FromMilliseconds(100) 

Dim final = original + difference 

Dim output as String = final.ToString("hh\:mm\:ss\,fff", ci) 
+0

В этой строке есть исключение: Dim original As TimeSpan = TimeSpan.Parse («00: 00: 59,950») –

+0

@rogerjanety Возможно, вам придется использовать ParseExact и указать формат - одну секунду, редактирование. –

+0

@rogerjanety Это должно сделать это сейчас, с явным форматированием –

0

Попробуйте это:

Dim dateFormat As String = "hh:mm:ss.fffffff" 
    Dim date1 As Date = #00:00:59,950" 
    date1.AddMilliseconds(100) 

UPDATE:

Должно быть, я был более уставшим, чем я понял, вчера, я извиниться за это. Это должно сделать лучше:

Dim sTime As String = "00:00:59.950" 
    Dim dOffset As DateTimeOffset = DateTimeOffset.Parse(sTime) 
    dOffset = dOffset.AddMilliseconds(100) 

    Dim sDisplayTime As String = dOffset.ToString("HH:mm:ss.fff tt") 

Там вы получите миллисекунды в том формате, который вы указали в своем вопросе.

+0

'date1' не объявлен. Он может быть недоступен из-за его уровня защиты. \t есть много ошибок в этом коде –

+0

Dim dateFormat As String эта строка не нужна, потому что мы не используем ее в коде –

Смежные вопросы