【问题标题】:Convert SQL datetime to show in input type datetime local将 SQL 日期时间转换为在本地日期时间输入类型中显示
【发布时间】:2018-01-04 02:20:30
【问题描述】:

我有一个日期时间字符串,它正在从控制器中检索,格式如下:

dd-MM-yyyy hh:mm:ss a
3/1/2018 4:02:00 PM

我想在输入类型datetime-local 中显示它。所以我需要将日期时间转换成这种格式:

yyyy-MM-DDTHH:mm
2018-01-03T16:02

我首先尝试使用此代码,它将输出为 js 格式,然后使用函数将其格式化。但它错误地将月读为日,将日读为月。这意味着输出将显示如下2018-03-01T16:02。

var date_test = new Date("3/1/2018 4:02:00 PM".replace(/-/g,"/"));

还有其他方法可以正确转换吗?

【问题讨论】:

  • 查看 moment.js,它是格式化和操作日期的绝佳资源。 momentjs.com

标签: javascript c# datetime


【解决方案1】:

既然你已经知道格式

dd-MM-yyyy hh:mm:ss a
3/1/2018 4:02:00 PM

为什么不正确拆分字符串(日期部分,然后是时间部分) 最后使用 yyyy,MM,dd 等创建新的日期对象?

【讨论】:

    【解决方案2】:

    使用 moment.js。很棒的图书馆:

    <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.7.0/moment.min.js"></script>
    <script type="text/javascript">
    
    var dateString = "3/1/2018 4:02:00 PM";
    var currentDate = moment(dateString, "M/D/YYYY h:mm:ss a");
    document.write(currentDate.format("YYYY-MM-DDTHH:mm"))
    </script>
    

    【讨论】:

      猜你喜欢
      • 2012-10-07
      • 1970-01-01
      • 2020-03-13
      • 1970-01-01
      • 2018-08-21
      • 2019-06-21
      • 1970-01-01
      • 2021-05-02
      • 1970-01-01
      相关资源
      最近更新 更多