【问题标题】:Kendo DateTimePicker set current hour 12:00 AM instead of DateTime.NowKendo DateTimePicker 设置当前时间 12:00 AM 而不是 DateTime.Now
【发布时间】:2015-12-17 11:30:15
【问题描述】:

正如在DateTimePicker / Basic usage 上看到的那样,我在下面使用的示例将当前时间设置为上午 12:00,而不是 DateTime.Now,当按下 DateTimePicker 底部的链接时。如何解决?

@(Html.Kendo().DateTimePickerFor(m => m.VisitDate)
    .Animation(true)
    .Format("dd/MM/yyyy HH:mm")
    .TimeFormat("HH:mm")
    .Min(new DateTime(1900, 1, 1)) 
    .Max(new DateTime(2099, 12, 31)) 
    .Footer(true)
    .Value(DateTime.Now) 
)

之前:

之后:

链接插入午夜 - 但这感觉不对。

如何让它插入当前时间?


更新:这是我在最后一步使用的 DateTimePicker 和 javascript 方法:

@{
    ViewBag.Title = "Create";
    Layout = "~/Views/Shared/_Layout.cshtml";
    var today = DateTime.Now.ToString("dd/MM/yyyy 00:00", 
                    new System.Globalization.CultureInfo("en-US"));
}


@(Html.Kendo().DateTimePicker()
    .Name("datetimer")
    .Animation(true)
    //.Culture("en-US")
    .TimeFormat("HH:mm")
    .Min(new DateTime(1900, 1, 1)) 
    .Max(new DateTime(2099, 12, 31)) 
    .Value(DateTime.Now)
    .Format("dd/MM/yyyy HH:mm")
    .Events(e => e.Change("datetimepicker_change"))
)


<script>
function datetimepicker_change() {
    // I use this method so that when selecting another day except from today, 
    // the hour should be 00:00. But it does not make sense whether or not using it 
    if ($('#datetimer').val() != '@today') {
        return;
    }


    if ($('#datetimer').val() == '@today') {
        $('#datetimer').val('@DateTime.Now.ToString("dd/MM/yyyy HH:mm")');
    }
}
</script>

【问题讨论】:

  • @buffjape 非常感谢您的编辑。有什么帮助吗?
  • 对不起,我不知道如何解决它,但这是一个很好的问题。

标签: asp.net-mvc kendo-ui kendo-asp.net-mvc kendo-datepicker kendo-datetimepicker


【解决方案1】:

你好,我就是这样处理的;

var today = DateTime.Now.ToString("dd/MM/yyyy 00:00", new System.Globalization.CultureInfo("en-US"));

@(Html.Kendo().DateTimePicker()
    .Name("test")
    .Animation(true)
    .TimeFormat("HH:mm")
    .Min(new DateTime(1900, 1, 1))
    .Max(new DateTime(2099, 12, 31))
    .Value(DateTime.Now)
    .Format("dd/MM/yyyy HH:mm")
    .Events(e => e.Change("datetimepicker_change"))
 )

 <script>
  function datetimepicker_change() {
    if ($('#test').val() == '@today') {
        $('#test').val('@DateTime.Now');
    }
  }
 </script>

结果:youtube

【讨论】:

  • 我在参数列表后遇到“SyntaxError: missing ): $('#test').val(23/12/2015 16:46:00); 请注意,它是一个 MVC 项目,我在 Razor 页面上使用此方法。我删除了一些“'”符号,但这次我得到了上面的错误。有什么想法吗?你可以在 dojo.telerik.com 上测试它
  • 我使用 razor 语法构建的代码已经像我一样完成了
  • 对不起,但对于每种情况,我都会遇到错误(编译等)。我在 DateTimePicker 之前定义了 today 变量,在 DateTimePicker 之后定义了 datetimepicker_change()。我也尝试在
  • @Christof 我不能在 dojo 上使用 kendo mvc,所以你需要的就在这里。更新 ;我把它记录下来,最后看链接。
  • 选择另一天(今天除外)时设置小时 00:00 怎么样?因为在选择另一天时,小时仍然与最后一个选定的小时和分钟相同。有什么想法吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-27
相关资源
最近更新 更多