作法:在日期與時間值中顯示毫秒 - 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在Python 中將DateTime 轉換為帶有毫秒的字串
使用 isoformat() 方法將DateTime 格式化為字串. datetime 類的 isoformat() 方法返回一個以ISO 8601 格式表示日期的字串。我們可以使用 sep ...
- 21'表示1秒,1'''表示的是1毫秒吗? - 百度知道
记时器可否读出毫秒,取决于用什么记时器. 如果用与计算机相联的数据采集系统,可以用计算机机间.高级记时器可用原子钟.
- 3毫秒(ms) MilliSeconds、微秒(µs) MicroSeconds - 香腸炒章魚
秒、微秒、毫秒秒(Seconds)是國際單位制中時間的基本單位,符號是s。 有時也會借用英文縮寫標示為sec。 國際 ...
- 4秒- 维基百科,自由的百科全书
- 5第一章
一種內部有極板的真空玻璃瓶,它利用導電與未導電的狀態,來表示二進位. 數值的0 與1。 ... 元件運算速度以毫秒(Millisecond, ms)為單位,1 毫秒=10-3 秒。