我有一个需要转换为“dd / MM / yy”的字符串。我将其转换为Date数据类型,然后将其格式化为字符串。我想知道是否有一种更简单/更优雅的方式。 这是我现在如何实现这个目标的一个例子
Dim strValue As String = "17/08/2016"
Dim dteValue as Date = Convert.ToDateTime(strValue)
strValue = dteValue.ToString("dd/MM/yy")
我正在寻找的是一种转换方式,无需将其转换为Date数据类型,是否可能?
答案 0 :(得分:0)
您可以使用扩展方法:
public static string ToMyDateString(this string stringDate)
{
return DateTime.Parse(stringDate).ToString("dd/MM/yy");
}
然后像这样使用它:
string strValue = "17/08/2016".ToMyDateString();
或
string strValue = "17/08/2016";
string strValueDate = strValue.ToMyDateString();
刚刚意识到你在VB.NET中,所以很确定它会被翻译过来。如果我有时间,我会尝试在VB.NET中完成。
VB.NET版
<System.Runtime.CompilerServices.Extension> _
Public Shared Function ToMyDateString(stringDate As String) As String
Return DateTime.Parse(stringDate).ToString("dd/MM/yy")
End Function
警告 - 这刚刚通过转换器,因此可能需要进行调整。
答案 1 :(得分:0)
如果没有将其转换为日期,我建议:
Dim strValue As String = "17/08/2016"
strValue = strValue.PadLeft(6) & strValue.PadRight(2)
我的计算机需要1 ms才能处理上述代码10,000次,但处理你的代码需要22 ms。
编辑:如果日期有不同的长度,您可以拆分前进并重建它:
Dim arrSplitValue() As String = Split("17/08/2016", "/")
Dim strValue As String = arrSplitValue(0) & "/" & arrSplitValue(1) & "/" & arrSplitValue(2).PadRight(2)