一、Dart DateTime類介紹
要獲取當前時間,我們需要使用Dart的DateTime類,它表示一個UTC時間,可以用於表示任何時區的時間。DateTime類提供了許多有用的方法和屬性,比如我們可以通過now()靜態方法獲得當前時間。
示例代碼如下:
{% raw %}
DateTime now = DateTime.now();
print(now);
{% endraw %}
運行以上代碼,我們可以得到類似如下的輸出結果:
{% raw %}
2022-03-07 09:21:51.405781
{% endraw %}
二、格式化時間字元串
DateTime類提供了許多有用的方法,其中最重要的方法之一是format()方法,該方法可以將一個DateTime對象格式化為一個字元串,以便於我們進行顯示和列印。我們可以使用format()方法來指定要顯示的日期時間格式。
例如,我們可以將當前時間格式化為「年-月-日 時:分:秒」的格式:
{% raw %}
DateTime now = DateTime.now();
String formattedDate = DateFormat('yyyy-MM-dd kk:mm:ss').format(now);
print(formattedDate);
{% endraw %}
輸出結果如下:
{% raw %}
2022-03-07 09:21:51
{% endraw %}
我們可以看到,我們成功將當前時間格式化為指定的字元串格式。
三、獲取指定時區時間
通過DateTime類,我們還可以獲取指定時區的時間,只需要將DateTime對象傳遞給intl包中的DateFormat,並指定時區即可。
示例代碼如下:
{% raw %}
DateTime now = DateTime.now();
String formattedDate = DateFormat('yyyy-MM-dd hh:mm:ss', 'GMT+8').format(now);
print(formattedDate);
{% endraw %}
上面的代碼獲取當前時間並將其轉換為我們所在地點「GMT+8」時區的時間,並按「年-月-日 時:分:秒」的順序進行格式化。在格式字元串中使用小寫「hh」表示12小時格式,而大寫「HH」表示以24小時格式呈現。
四、計算時間差
在處理時間時,我們有時需要計算時間差。DateTime類也提供了計算差異的方法——difference()
示例代碼如下:
{% raw %}
DateTime now = DateTime.now();
DateTime birthday = DateTime(2000, 1, 1);
Duration difference = now.difference(birthday);
print('${difference.inDays}天 ${difference.inHours % 24}小時');
{% endraw %}
上面的代碼計算了當前時間與2000年1月1日之間的時間差,並格式化輸出以顯示天數和小時數。
五、結論
在Flutter中獲取當前時間是相對簡單的,只需要使用DateTime類的now()方法並根據需要進行格式化,甚至可以根據需要在不同的時區中獲取時間。在處理時間差時,我們可以使用DateTime類的difference()方法。通過掌握這些知識,我們可以有效地在我們的Flutter應用程序中處理時間。
原創文章,作者:UXYQN,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/370486.html