【发布时间】:2020-04-06 00:51:55
【问题描述】:
如果我有一个包含格式的字符串,例如下面(注意我不能改变这个字符串格式)
var str = "FormatedDate:Printed {0:dd MMM yyyy HH:mm:ss}"
我只需要提取格式,例如
"dd MMM yyyy HH:mm:ss"
我知道我可以使用字符串操作或正则表达式来做到这一点,但有没有.Net 方法可以使用string/format 等来做到这一点。例如而不是将给定的字符串插入到我需要提取该格式的格式中。
非常感谢
【问题讨论】:
-
我不相信 .Net 提供了魔法。如果你有一个非泛型的字符串(比如你的),你将不得不做一些字符串操作来得到你需要的东西。
-
在这里使用正则表达式有什么低效的地方?您至少可以使用它来解析日期时间数据,然后将字符串操作为 .NET 可以实际解析为 DateTime 对象的内容。
-
谁说我要解析成 DateTime 对象?我只是想知道是否有一种方法可以提取它,因为 .Net 使用该格式将其应用于插值字符串 - 所以也许可以访问它。如果不是很好,我将使用正则表达式/字符串操作。
-
请问您为什么需要这样做?
-
我拿了一个
json文件,其中包含(在许多其他内容中)一些字段,例如"FormatedDate:Printed {0:dd MMM yyyy HH:mm:ss}"。我需要将此(实际上是使用插值字符串的任何组合)转换为使用 thymeleaf 表示日期的 HTML 文档(例如<p class="footer-left" th:text="${#dates.format(#dates.createNow(), 'dd MMM yyyy HH:mm:ss')}" />,谢谢
标签: c# .net string datetime format