C#怎么强制转换格式

ah_2056 2019-09-15 12:38:20
比如:
915为09:15
1015为10:15
0000为00:00
请问这种格式怎么转换。
...全文
373 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
大鱼> 2019-09-21
  • 打赏
  • 举报
回复
引用 7 楼 XBodhi. 的回复:
DateTime.ParseExact
用这个方法看看。会方便很多。
+1 这个方法不错,就是需要手动补位
XBodhi. 2019-09-21
  • 打赏
  • 举报
回复
DateTime.ParseExact
用这个方法看看。会方便很多。
ah_2056 2019-09-17
  • 打赏
  • 举报
回复
引用 5 楼 bloodish 的回复:

        static string ConvertTo(string input, int maxLength=4, int insertPos=2, string insertStr=":")
        {
            if (string.IsNullOrEmpty(input) || input.Length > maxLength) return input;

            return input.PadLeft(maxLength, '0').Insert(insertPos, insertStr);
        }

        static void Main(string[] args)
        {
            Console.WriteLine(ConvertTo("915"));
            Console.WriteLine(ConvertTo("1015"));
            Console.WriteLine(ConvertTo("0000"));
        }
谢谢,办法很好
asq985 2019-09-16
  • 打赏
  • 举报
回复
引用 2 楼 ah_2056 的回复:
[quote=引用 1 楼 sunyzth 的回复:] 使用分割填充方式进行处理,这个要求源数据一定从右到左顺序排列。
不能使用string的Format么?[/quote] 当然可以,.ToString("00:00")
bloodish 2019-09-16
  • 打赏
  • 举报
回复

        static string ConvertTo(string input, int maxLength=4, int insertPos=2, string insertStr=":")
        {
            if (string.IsNullOrEmpty(input) || input.Length > maxLength) return input;

            return input.PadLeft(maxLength, '0').Insert(insertPos, insertStr);
        }

        static void Main(string[] args)
        {
            Console.WriteLine(ConvertTo("915"));
            Console.WriteLine(ConvertTo("1015"));
            Console.WriteLine(ConvertTo("0000"));
        }
不远1210 2019-09-16
  • 打赏
  • 举报
回复
感觉只能当字符串处理吧。 #1已经给了思路了。 当然还有很多其他方式,比如先统一补成4位,用substring、toCharArray等等,将前两位和后两位提取出来,然后再组合成想要的字符串等等。 比如:

string str1 = "123";
//异常字符串判断
if (str1.Length == 3)
     str1 = "0"+str1;
string dststr = String.Format("{0}:{1}",srcstr.Substring(0,2),srcstr.Substring(2,2));//.net4.5以上也可用:$"{srcstr.Substring(0,2)}:{srcstr.Substring(2,2)}"
ah_2056 2019-09-15
  • 打赏
  • 举报
回复
引用 1 楼 sunyzth 的回复:
使用分割填充方式进行处理,这个要求源数据一定从右到左顺序排列。
不能使用string的Format么?
sunyzth 2019-09-15
  • 打赏
  • 举报
回复
使用分割填充方式进行处理,这个要求源数据一定从右到左顺序排列。

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧