[英]Updating Date Time Format specified in the regional settings of the system(Region and Language)
[英]Displaying a date with time using region settings formating
我希望這可以工作:
Public Shared Function ToShortDateTimeString(ByVal dateIn As Date) As String
Return dateIn.ToShortDateString & " " & dateIn.ToShortTimeString
End Function
日期是根據本地設置格式化的,而不是時間。
我看過API示例,但是dangit,這應該很容易並將其內置到框架中。
為什么按日期而不是按時間有效?
例如,查看我的區域設置以顯示時間:
http://www.screencast.com/users/Dokmanc/folders/Jing/media/cbc07eeb-1f9c-4b27-b535-91b8acbffd8e
但是,上面的函數返回:“ 11/17/2009 8:29:32 PM”
您可以使用DateTimeFormatInfo
強制設置所需的日期/時間格式:
DateTimeFormatInfo info = new DateTimeFormatInfo();
info.ShortTimePattern = "HH:mm";
DateTime.Now.ToString(info.ShortTimePattern);
編輯:請檢查上一個問題: 為什么DateTime.ToShortTimeString()不遵守“區域和語言設置”中的短時間格式?
Public Shared Function ToShortDateTimeString(ByVal dateIn As Date) As String
// g = short date and short time
Return dateIn.ToString("g", System.Globalization.DateTimeFormatInfo.CurrentInfo);
End Function
聽起來像是.NET問題。
解決方法可能是:
dateIn.ToString("T", CultureInfo.CurrentUICulture.DateTimeFormat)
dmitriy說的是:
要指定格式,請參見http://msdn.microsoft.com/zh-cn/library/az4se3k1(VS.96).aspx
這應該說明不同的格式:
Dim myDateTime As New DateTime(2001, 5, 16, 3, 2, 15)
Console.WriteLine(myDateTime.ToString("d", CultureInfo.CurrentUICulture.DateTimeFormat))
Console.WriteLine(myDateTime.ToString("t", CultureInfo.CurrentUICulture.DateTimeFormat))
Console.WriteLine(myDateTime.ToString("d", CultureInfo.CreateSpecificCulture("ro-RO")))
Console.WriteLine(myDateTime.ToString("t", CultureInfo.CreateSpecificCulture("ro-RO")))
Console.WriteLine(myDateTime.ToString("t", CultureInfo.CurrentUICulture.DateTimeFormat))
Console.WriteLine(myDateTime.ToShortDateString())
Console.WriteLine(myDateTime.ToShortTimeString())
在您的特定情況下,我認為您需要的是:
返回dateIn.ToString(“ d”,CultureInfo.CurrentUICulture.DateTimeFormat)&“”&dateIn.ToString(“ t”,CultureInfo.CurrentUICulture.DateTimeFormat)
嘗試這個:
Option Strict On
Option Explicit On
Imports Microsoft.VisualBasic
Imports System.Globalization
<System.Runtime.CompilerServices.Extension()> _
Module DateTimeExtensions
<System.Runtime.CompilerServices.Extension()> _
Public Function ToShortTimeStringNoSeconds(ByVal ShortTimeIn As DateTime) As String
Dim DateTimeFormat As DateTimeFormatInfo = CultureInfo.CurrentCulture.DateTimeFormat
Dim ShortTimePattern As String = DateTimeFormat.LongTimePattern.Replace(":ss", String.Empty)
Return ShortTimeIn.ToString(ShortTimePattern)
End Function 'GetShortTimeString
End Module
Dim RegionallyFormattedTime As String = Now.ToShortTimeStringNoSeconds
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.