代码之家  ›  专栏  ›  技术社区  ›  Jonathan Escobedo

日期时间格式,如HH:mm,24小时不带AM/PM

  •  9
  • Jonathan Escobedo  · 技术社区  · 16 年前

    我在这里搜索关于在不丢失格式的情况下将“16:20”这样的字符串转换为DateTime类型,我说我不想添加dd/MM/yyy或seconds或AM/PM,因为db只接受这种格式。

    我尝试过文化

    提前谢谢

    7 回复  |  直到 13 年前
        1
  •  22
  •   Arno    9 年前

    只需给dateTime指定一个日期格式。

    string DateFormat = "yyyy MM d " 这将给你一个机会 年月日 . 在继续之后; string DateFormat = "yyyy MM d HH:mm:ss " 在这里 大写字母H 24 hours time format 大小写 "h" will give you the 12 hours time 总体安排

    string DateFormat = "yyyyMMdHHmmss";
    string date = DateTime.Now.ToStrign(DateFormat);
    

    Console.writeline(DateTime.Now.ToStrign(DateFormat));
    

    输出:

    20120823132544
    
        2
  •  15
  •   John Sheehan    16 年前

    所有DateTime对象都必须有日期和时间。

    TimeSpan span = TimeSpan.Parse("16:20");
    

    如果需要日期时间,请将该时间添加到最小值:

    TimeSpan span = TimeSpan.Parse("16.20");
    DateTime dt = DateTime.MinValue.Add(span);
    // will get you 1/1/1900 4:20 PM which can be formatted with .ToString("HH:mm") for 24 hour formatting
    
        3
  •  3
  •   Ehsan    11 年前

    DateTime dt = new DateTime(2008, 12, 11, Convert.ToInt32("16"), Convert.ToInt32("32"), 0);
    
        4
  •  1
  •   Victor    16 年前

    如果将其转换为DateTime类型,则DateTime对象将具有dd/mm/yy和其他属性。根据您计划如何使用对象,您可以通过如下格式化字符串输出来“恢复”原始设置:DT.ToString(“HH:mm”);

        5
  •  1
  •   Jonathan Leffler    16 年前

        6
  •  1
  •   Jimmy    16 年前
    DateTime.Parse("16:20")
    
        7
  •  0
  •   Joel Coehoorn    16 年前

    我想谈谈你问题的这一部分:

    在不丢失格式的情况下

    数据库通常以标准的通用格式存储所有日期时间值,这种格式甚至不是人类可读的。如果使用datetime列,则原始格式将被销毁。

    HH:mm 你可以得到它。