gpt4 book ai didi

c# - 用中间的文本格式化 DateTime

转载 作者:太空宇宙 更新时间:2023-11-03 19:39:41 25 4
gpt4 key购买 nike

我想以特定方式格式化我的 DateTime 对象。这是基础:

DateTime dt = new DateTime(2018, 11, 20, 15, 30, 5, 0);
Debug.WriteLine(dt.ToString("ddd MMM dd HH:mm:ss zzz yyyy", CultureInfo.InvariantCulture));

输出将为 Tue Nov 20 15:30:05 +01:00 2018。这几乎就是我想要的:而不是 +01:00 我想要 string 变量 myText 的值。

因此,如果 myText 的值为 "hello world",则输出应为:

11 月 20 日星期二 15:30:05 Hello World 2018

所以我的问题很简单:我需要写什么来格式化(zzz 部分除外)但具有 的值字符串中间的变量?

我尝试了 dt.ToString("ddd MMM dd HH:mm:ss "+ myText + "yyyy", CultureInfo.InvariantCulture),但是 myText = "hello world" 它将输出

11 月 20 日星期二 15:30:05 3ello worl20 2018

myText 的内容将被视为格式化,就像其他内容一样。但我希望 myText 的内容改为按字面意思理解。

最佳答案

您可以将文本用引号 (') 括起来,它会输出您想要的格式。

dt.ToString("ddd MMM dd HH:mm:ss '" + myText + "' yyyy", CultureInfo.InvariantCulture);

// output
Tue Apr 02 12:37:49 hello world 2019

它与 hellohworldd 相匹配,这就是您看到该结果的原因.

你可以看看Custom date and time format strings来自微软,其中有一个关于引号的部分(靠近底部)。在 DateTime 格式(或数字格式)中包含引号(单 ' 或双 ")会在生成的字符串格式中引入字符串文字。

正如@Dmitry 在评论中指出的,您可能需要使用 myText?.Replace("'", "''") 如果 ' 出现在您的字符串。另一种选择是像往常一样使用双引号和转义:

dt.ToString("ddd MMM dd HH:mm:ss \"" + myText + "\" yyyy", CultureInfo.InvariantCulture);

关于c# - 用中间的文本格式化 DateTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55474934/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com