如何将asp.net mvc DatePicker的初始值从“ 06/22/2019 00:00:00”格式更改为波斯格式,如1398/04/01

时间:2019-06-27 12:08:22

标签: javascript c# jquery ajax asp.net-mvc

我启动了一个asp.net mvc项目,并且在我的视图中有以下html helper:

@Html.Editor("From_Date"})

,然后使用下面的jquery代码,使此标签可用作波斯DatePicker:

    <link href="http://cdn.kendostatic.com/2013.2.918/styles/kendo.common.min.css" rel="stylesheet">
    <link href="http://cdn.kendostatic.com/2013.2.918/styles/kendo.default.min.css" rel="stylesheet">
    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    <script src="/Content/js/kendo.all.min.js"></script>
<script>
        $(document).ready(function () {

            // create DatePicker from input HTML element
            $("#From_Date").kendoDatePicker();
        });
</script>

此html帮助器采用格式为“ 06/22/2019 00:00:00”的初始值。很难解释它如何获得此初始值。 我想用jquery编写代码,以使HTML帮助器在文档准备就绪(加载页面时)时以波斯语格式(例如1398/04/01)显示此初始值

2 个答案:

答案 0 :(得分:0)

您可以使用如下所示的kendo日期选择器属性来设置所需的格式-

$("#From_Date").kendoDatePicker({
    format: "yyyy/MM/dd",
    parseFormats: ["dd/MM/yyyy"] });

答案 1 :(得分:0)

您可以使用System.Globalization中的PersianCalendar将公历日期转换为波斯日期。

您可以将以下代码直接放入视图中。

@{
    var date = DateTime.Now;  // or from your model (Model.From_Date)
    var pc = new System.Globalization.PersianCalendar();
    var persianDay = pc.GetDayOfMonth(date);
    var persianMonth = pc.GetMonth(date);
    var persianYear = pc.GetYear(date);

    // create the date string  for use in the date picker
    string persianDateString = string.Format("{0}/{1}/{2}", persianYear, persianMonth, persianDay);
 }

$(document).ready(function () {
    $("#From_Date").kendoDatePicker({ format: "yyyy/MM/dd" });
    var datepicker = $("#From_Date").data("kendoDatePicker");
    datepicker.value('@persianDateString');
});