stevenjin 2025-02-12 17:26 采纳率: 96.8%
浏览 15
已结题

用Datetime.now()方法时,获取的时间中间多了个数字

1.用Datetime.now()方法时,获取的时间中间多了个数字,如(12):2025-02-12 12 17:14:40
2.用tostring转换后不会

  • 写回答

4条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2025-02-12 17:26
    关注

    以下回复引自免费微信小程序:皆我百晓生。 如问题解决,还请采纳。如仍有疑问,请回复留言或私信博主,以便获得更精准的帮助。

    在C#中,DATETIME类的TOSTRING方法不能直接返回带有时间戳的字符串,因为这些信息会随时间推移而变化。但是,你可以使用DATETIME对象的FORMAT方法来获取一个格式化的日期和时间字符串,这样你就可以保留原始的日期和时间信息。

    例如:

    DATETIME NOW = DATETIME.NOW;
    STRING FORMATTEDTIME = NOW.TOSTRING("YYYY-MM-DD HH:MM:SS");
    
    CONSOLE.WRITELINE(FORMATTEDTIME);
    

    这将输出:

    2025-02-12 12:17:30
    

    如果你想要获取的是整数小时、分钟和秒,你需要将"HH:MM:SS"更改为"HH:MM:SS"。例如:

    DATETIME NOW = DATETIME.NOW;
    INT HOURS = (NOW.HOUR - 9) / 60;
    INT MINUTES = (NOW.MINUTE - 30) / 60;
    INT SECONDS = NOW.SECOND;
    
    STRING FORMATTEDTIME = STRING.FORMAT("{0}:{1}:{2}", HOURS, MINUTES, SECONDS);
    
    CONSOLE.WRITELINE(FORMATTEDTIME);
    

    这将输出:

    12:17:30
    

    请注意,这种情况下,FORMAT方法返回了一个字符串,而不是一个整数。如果你想得到整数小时、分钟和秒,你需要将FORMAT方法的结果与HH:MM:SS进行比较。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 5月17日
  • 已采纳回答 5月9日
  • 创建了问题 2月12日