0

有没有类似将 a 格式化为string指定格式的东西?

例如:

如果字符串值为

"05/05/2013 05:06:23"

如果格式化类型是

"d"

所以如果我们同时传递这两个值,输出应该是

05/05/2013

我尝试使用该函数Format("stirng value","format"),但这给了我formatas o/p。

注意:该功能应该适用于所有datatypes.

4

7 回答 7

1

VB.NETFormat功能会给你你想要的;您只需阅读文档以确保您提供已知格式:

> (Strings:Format "12-03-04 5:01:23.456" "d")
d
> (Strings:Format "12-03-04 5:01:23.456" "Short Date")
12/03/2004
> (Strings:Format "12-03-04 5:01:23.456" "Long Date")
Friday, 12 March 2004
> (Strings:Format "50123.456" "Currency")
$50,123.46
>

上面实际上是 DotLisp 及其输出,但它只是调用Microsoft.VisualBasic.Strings.Format.

于 2013-06-16T14:01:55.893 回答
1

您必须将其解析为一个DateTime对象,然后ToString以您指定的格式再次使用。

Dim str = "05/05/2013 05:06:23"
Dim ci = new CultureInfo("en-US")
Dim formattedDate = DateTime.Parse(str).ToString("dd/MM/yyyy", ci) // Returns 05/05/2013"

不,没有适用于所有数据类型的东西。

如果您想转换另一种数据类型(Decimal例如),首先将您的字符串转换为相应的类型(Decimal.Parse..etc),然后再次使用 ToString 以获得所需的格式。

于 2013-06-14T11:01:47.163 回答
1

您可以像这样创建自己的功能..

此函数可以接受任何类型并返回任何类型(仅在 int 和 date 上测试)

Function ChangeThis(ByVal var As Object, ByVal Type As String) As Object
    If Not var.GetType.IsValueType() Then Return Nothing
    Select Case var.GetType().ToString
        Case "System.Int32" : MsgBox("Integer 32")
        Case "System.DateTime"
            If Type = "d" Then Return Convert.ToDateTime(var).Date
    End Select
    Return ""
End Function

你可以测试一下

Dim s As Date = ChangeThis(Now(), "d")
MsgBox(s)

这不是太好,但它可以帮助..

于 2013-06-14T11:50:13.613 回答
0

为此,您必须先将字符串解析为日期时间,然后您可以使用:

myDateVariable.ToString("d")
于 2013-06-14T10:55:48.640 回答
0

尝试使用.net string.format函数。但是,格式字符串需要准确指定您想要的输出。正如您已经发现的那样,只需使用“format”作为格式字符串就会输出“format”。

于 2013-06-14T10:56:27.233 回答
0

尝试

Convert.ToDateTime("05/05/2013 05:06:23").ToString("dd/MM/yyyy")
于 2013-06-14T10:56:35.333 回答
0

你可以试试这个。

 Dim strRawdate As String = "05/05/2013 05:06:23"
 Dim dt As DateTime = DateTime.ParseExact(strRawdate, "M/d/yyyy HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture)
 Dim reformatDate As String = dt.ToString("M/d/yyyy", System.Globalization.CultureInfo.InvariantCulture)
于 2013-06-15T06:33:53.480 回答