作法:在日期與時間值中顯示毫秒 - Microsoft Docs
文章推薦指數: 80 %
本文說明如何在格式化的日期和時間字串中包含日期和時間的毫秒元件。
顯示DateTime 值的毫秒部分. 如果您使用的是日期的字串表示,請DateTime ...
跳到主要內容
已不再支援此瀏覽器。
請升級至MicrosoftEdge,以利用最新功能、安全性更新和技術支援。
下載MicrosoftEdge
其他資訊
目錄
結束焦點模式
語言
閱讀英文
儲存
編輯
共用
Twitter
LinkedIn
Facebook
電子郵件
WeChat
目錄
語言
語言
閱讀英文
儲存
目錄
閱讀英文
儲存
編輯
Twitter
LinkedIn
Facebook
電子郵件
WeChat
目錄
作法:在日期與時間值中顯示毫秒
發行項
12/12/2021
3位參與者
此頁面有所助益嗎?
Yes
No
還有其他意見反應嗎?
系統會將意見反應傳送給Microsoft:按下[提交]按鈕,您的意見反應將用來改善Microsoft產品和服務。
隱私權原則。
送出
謝謝。
本文內容
預設的日期和時間格式化方法(例如DateTime.ToString())包括時間值的小時、分鐘和秒,但不包括它的毫秒元件。
本文說明如何在格式化的日期和時間字串中包含日期和時間的毫秒元件。
顯示DateTime值的毫秒部分
如果您使用的是日期的字串表示,請DateTimeDateTimeOffset使用靜態DateTime.Parse(String)或方法將它轉換為或值DateTimeOffset.Parse(String)。
若要擷取時間毫秒元件的字串表示,請呼叫日期和時間值的DateTime.ToString(String)或ToString方法,並單獨傳遞fff或FFF自訂格式模式,或是連同其他自訂格式規範作為format參數一併傳遞。
提示
毫秒分隔符號是由屬性所指定System.Globalization.NumberFormatInfo.NumberDecimalSeparator。
範例
此範例會對主控台單獨顯示DateTime和DateTimeOffset值的毫秒元件,以及包含在較長的日期和時間字串中一併顯示。
usingSystem.Globalization;
usingSystem.Text.RegularExpressions;
stringdateString="7/16/20088:32:45.126AM";
try
{
DateTimedateValue=DateTime.Parse(dateString);
DateTimeOffsetdateOffsetValue=DateTimeOffset.Parse(dateString);
//DisplayMillisecondcomponentalone.
Console.WriteLine("Millisecondcomponentonly:{0}",
dateValue.ToString("fff"));
Console.WriteLine("Millisecondcomponentonly:{0}",
dateOffsetValue.ToString("fff"));
//DisplayMillisecondcomponentwithfulldateandtime.
Console.WriteLine("DateandTimewithMilliseconds:{0}",
dateValue.ToString("MM/dd/yyyyhh:mm:ss.ffftt"));
Console.WriteLine("DateandTimewithMilliseconds:{0}",
dateOffsetValue.ToString("MM/dd/yyyyhh:mm:ss.ffftt"));
stringfullPattern=DateTimeFormatInfo.CurrentInfo.FullDateTimePattern;
//Createaformatsimilarto.fffbutbasedonthecurrentculture.
stringmillisecondFormat=$"{NumberFormatInfo.CurrentInfo.NumberDecimalSeparator}fff";
//Appendmillisecondpatterntocurrentculture'sfulldatetimepattern.
fullPattern=Regex.Replace(fullPattern,"(:ss|:s)",$"$1{millisecondFormat}");
//DisplayMillisecondcomponentwithmodifiedfulldateandtimepattern.
Console.WriteLine("Modifiedfulldatetimepattern:{0}",
dateValue.ToString(fullPattern));
Console.WriteLine("Modifiedfulldatetimepattern:{0}",
dateOffsetValue.ToString(fullPattern));
}
catch(FormatException)
{
Console.WriteLine("Unabletoconvert{0}toadate.",dateString);
}
//Theexampledisplaysthefollowingoutputifthecurrentcultureisen-US:
//Millisecondcomponentonly:126
//Millisecondcomponentonly:126
//DateandTimewithMilliseconds:07/16/200808:32:45.126AM
//DateandTimewithMilliseconds:07/16/200808:32:45.126AM
//Modifiedfulldatetimepattern:Wednesday,July16,20088:32:45.126AM
//Modifiedfulldatetimepattern:Wednesday,July16,20088:32:45.126AM
ImportsSystem.Globalization
ImportsSystem.Text.REgularExpressions
ModuleMillisecondDisplay
PublicSubMain()
DimdateStringAsString="7/16/20088:32:45.126AM"
Try
DimdateValueAsDate=Date.Parse(dateString)
DimdateOffsetValueAsDateTimeOffset=DateTimeOffset.Parse(dateString)
'DisplayMillisecondcomponentalone.
Console.WriteLine("Millisecondcomponentonly:{0}",_
dateValue.ToString("fff"))
Console.WriteLine("Millisecondcomponentonly:{0}",_
dateOffsetValue.ToString("fff"))
'DisplayMillisecondcomponentwithfulldateandtime.
Console.WriteLine("DateandTimewithMilliseconds:{0}",_
dateValue.ToString("MM/dd/yyyyhh:mm:ss.ffftt"))
Console.WriteLine("DateandTimewithMilliseconds:{0}",_
dateOffsetValue.ToString("MM/dd/yyyyhh:mm:ss.ffftt"))
DimfullPatternAsString=DateTimeFormatInfo.CurrentInfo.FullDateTimePattern
'Createaformatsimilarto.fffbutbasedonthecurrentculture.
DimmillisecondFormatasString=$"{NumberFormatInfo.CurrentInfo.NumberDecimalSeparator}fff"
'Appendmillisecondpatterntocurrentculture'sfulldatetimepattern.
fullPattern=Regex.Replace(fullPattern,"(:ss|:s)",$"$1{millisecondFormat}")
'DisplayMillisecondcomponentwithmodifiedfulldateandtimepattern.
Console.WriteLine("Modifiedfulldatetimepattern:{0}",_
dateValue.ToString(fullPattern))
Console.WriteLine("Modifiedfulldatetimepattern:{0}",_
dateOffsetValue.ToString(fullPattern))
CatcheAsFormatException
Console.WriteLine("Unabletoconvert{0}toadate.",dateString)
EndTry
EndSub
EndModule
'Theexampledisplaysthefollowingoutputifthecurrentcultureisen-US:
'Millisecondcomponentonly:126
'Millisecondcomponentonly:126
'DateandTimewithMilliseconds:07/16/200808:32:45.126AM
'DateandTimewithMilliseconds:07/16/200808:32:45.126AM
'Modifiedfulldatetimepattern:Wednesday,July16,20088:32:45.126AM
'Modifiedfulldatetimepattern:Wednesday,July16,20088:32:45.126AM
fff格式模式會包含毫秒值尾端的任何零。
FFF格式模式則會加以隱藏。
下列範例會說明其間的差異。
DateTimedateValue=newDateTime(2008,7,16,8,32,45,180);
Console.WriteLine(dateValue.ToString("fff"));
Console.WriteLine(dateValue.ToString("FFF"));
//Theexampledisplaysthefollowingoutputtotheconsole:
//180
//18
DimdateValueAsNewDate(2008,7,16,8,32,45,180)
Console.WriteLIne(dateValue.ToString("fff"))
Console.WriteLine(dateValue.ToString("FFF"))
'Theexampledisplaysthefollowingoutputtotheconsole:
'180
'18
定義包含日期和時間毫秒部分之完整自訂格式規範的問題在於,它會定義硬式編碼格式,而該格式可能不會對應至應用程式目前文化特性中時間項目的排列。
建議改為擷取目前文化特性之DateTimeFormatInfo物件所定義的其中一個日期和時間顯示模式,然後修改該模式以加入毫秒。
此範例也會說明這個方法。
它會從屬性抓取目前文化特性的完整日期和時間模式DateTimeFormatInfo.FullDateTimePattern,然後插入自訂模式fff以及目前文化特性的毫秒分隔符號。
此範例會在單一方法呼叫中使用正則運算式來進行這項作業。
除了毫秒之外,您也可以使用自訂格式規範顯示秒的其他小數部分。
例如,f或F自訂格式規範會顯示十分之一秒,ff或FF自訂格式規範會顯示百分之一秒,而ffff或FFFF自訂格式規範會顯示萬分之一秒。
毫秒的小數部分會在傳回的字串中被截斷,而不是四捨五入。
下列範例會使用這些格式規範。
DateTimedateValue=newDateTime(2008,7,16,8,32,45,180);
Console.WriteLine("{0}seconds",dateValue.ToString("s.f"));
Console.WriteLine("{0}seconds",dateValue.ToString("s.ff"));
Console.WriteLine("{0}seconds",dateValue.ToString("s.ffff"));
//Theexampledisplaysthefollowingoutputtotheconsole:
//45.1seconds
//45.18seconds
//45.1800seconds
DimdateValueAsNewDateTime(2008,7,16,8,32,45,180)
Console.WriteLine("{0}seconds",dateValue.ToString("s.f"))
Console.WriteLine("{0}seconds",dateValue.ToString("s.ff"))
Console.WriteLine("{0}seconds",dateValue.ToString("s.ffff"))
'Theexampledisplaysthefollowingoutputtotheconsole:
'45.1seconds
'45.18seconds
'45.1800seconds
注意
您可以使用非常小的小數單位來顯示秒,例如萬分之一秒或十萬分之一秒。
不過,這些值可能沒有太大的意義。
日期和時間值的有效位數取決於作業系統時鐘的解析度。
如需詳細資訊,請參閱您的作業系統使用的API:
Windows7:GetSystemTimeAsFileTime
Windows8和更新版本:GetSystemTimePreciseAsFileTime
Linux和macOS:clock_gettime
另請參閱
DateTimeFormatInfo
自訂日期和時間格式字串
本文內容
延伸文章資訊
- 1如何在Excel中以毫秒顯示時間? - ExtendOffice
例如,記錄的時間包含毫秒,例如10:33:50.235。 當我將此時間輸入Excel中的單元格時,時間顯示為33:50.2。 更改為時間格式後,時間顯示為10:33:50 AM,毫秒消失。
- 2前往小時、分鐘、秒:符號如何表示?-熱備資訊
毫秒是一種較為微小的時間單位,是一秒的千分之一(0.0... | 萌寵公園.
- 3轉換時間, 毫秒 - ConvertWorld
使用這個簡單的工具快速轉換毫秒作為時間的單位.
- 4秒- 维基百科,自由的百科全书
- 5第一章
一種內部有極板的真空玻璃瓶,它利用導電與未導電的狀態,來表示二進位. 數值的0 與1。 ... 元件運算速度以毫秒(Millisecond, ms)為單位,1 毫秒=10-3 秒。