【问题标题】:How can i remove all the forward slash "/", Colons ":" and spaces from DateTime.Now format如何从 DateTime.Now 格式中删除所有正斜杠“/”、冒号“:”和空格
【发布时间】:2022-01-25 07:58:35
【问题描述】:

我想将 DataTime.Now 输出转换为整数,

我想删除所有正斜杠“/”冒号“:”和空格“”,甚至 PM/AM。

示例:

从 = 2022 年 1 月 24 日晚上 10:51:54

到 = 1242022105154

【问题讨论】:

  • 请注意,您需要 64 位 long 整数变体 32 位 int 变体(签名时最高为 2147483647)。
  • 另外,你打算如何用这种格式表示 AM 或 PM?
  • 我还想知道您如何用这种格式区分 12 月 4 日和 1 月 24 日。
  • @Damien_The_Unbeliever 我希望 OP 期望 1204 和 124,然后从右侧开始将其转换回其单独的组件。否则......事情可能会变得很糟糕。
  • OP:您为什么将用户名从 Dushyant Singh 更改为 Jeet?是不是因为你也是this Dushyant Singh

标签: c# .net datetime


【解决方案1】:

使用这个:

long n = long.Parse(date.ToString("yyyyMMddHHmmss"));

如果你想要字符串格式:

var n = date.ToString("yyyyMMddHHmmss");

您可以在上面的字段中更改年份和月份的位置。例如:(这对您的问题是正确的)

var n = date.ToString("MddyyyyHHmmss");

其中日期是您的变量,包含日期值。

【讨论】:

  • 严格来说没有必要转换为 long,但这样可以更容易地将值解析回 DateTime。我刚刚用我想要的输出格式完成了.ToString()
  • 我改了答案。
  • 顺便说一句,您不必通过字符串绊倒; c# 非常擅长乘数!
【解决方案2】:

你可以如下使用:

From.ToString().Replace("/","").Replace(":","").Replace(" ","")

【讨论】:

  • 如果.ToString() 没有生成 OP 所需格式的日期怎么办?
  • 有内置的 .Net 扩展,可以帮助您按照您需要的方式进行格式化。虽然 .Replace 处理文字请求,但肯定有更好的方法来处理这个问题,例如按照其他人的建议指定特定格式。
猜你喜欢
  • 1970-01-01
  • 2013-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-26
  • 1970-01-01
  • 1970-01-01
  • 2019-08-02
相关资源
最近更新 更多