We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date

Date values in the grid always subtracting one day


I'm sending my grid data to the controller by JSON.stringify the dataSource. In that it always subtract one day from the existing date value of date column. I tried serverTimezoneOffset also. But no success. I have mentioned my code bellow.

@Html.EJS().Button("SaveProf").Content("Save").IconCss("e-icons e-save").Click("btnProfSaveClick").Render()


.DataBound("ProfGriddataBound").AllowFiltering().FrozenRows(0).FrozenColumns(0).Columns(col =>




col.Field("EfctDt").HeaderText("EfctDate").Width("130").Edit(new { create = "dtp_create", read = " dtp_read", destroy = " dtp_destroy", write = " dtp_write" }).TextAlign(Syncfusion.EJ2.Grids.TextAlign.Right).Format(new { type = "datetime", format = "yyyy/MM/dd" }).Add();

col.Field("IsAct").HeaderText("Is Active").TextAlign(Syncfusion.EJ2.Grids.TextAlign.Left).EditType("booleanedit").DisplayAsCheckBox(true).Width("50px").Add();







.EditSettings(edit => { edit.AllowAdding(true).AllowEditing(true).AllowDeleting(true).Mode(Syncfusion.EJ2.Grids.EditMode.Batch).ShowConfirmDialog(false); })

.AllowPaging().PageSettings(page => page.PageCount(20)).AllowSorting()



function loadProfHdrGrid(args) {

ej.data.DataUtil.serverTimezoneOffset = 1;


function btnProfSaveClick() {

var gridObj = document.getElementById('ProfileGrid')['ej2_instances'][0];


var data = JSON.stringify(gridObj.dataSource);


url: '@ViewBag.RootFolder'+'/SectionProfileSetup/SaveProfileHdrData',

type: 'post',

data: { pdata: data },

success: function (result) {

var gridObj = document.getElementById("ProfileGrid").ej2_instances[0];

gridObj.dataSource = ej.data.DataUtil.parse.parseJson(result);//have to pass JSON data to JsonAdaptor instead of JSON string

alert('Successfully Saved..!');




    var elem;

    var dtobj;

    function dtp_create(args) {

        // create target element

        elem = document.createElement('input');

        return elem;


    function dtp_write(args) {

        dtobj = new ej.calendars.DateTimePicker({

            placeholder: 'Select DateTime',

            value: args.rowData.EfctDt




    function dtp_destroy() {

        // destroy the component after save



    function dtp_read(args) {

        // read the custom component(uploader) value

        return dtobj.value;



Thank you and regards


3 Replies 1 reply marked as answer

RS Rajapandiyan Settu Syncfusion Team December 30, 2022 09:27 AM UTC

Hi Kalum,

By default, if you stringify the date value it will be converted to the UTC time. Please find the below links,


Why do you want to send the whole grid data to the server? When you stringify the large data, we cannot post it to the server due to serialization/deserialization issues.

If you want to save the edited data to the server, you can achieve this by using URLAdaptor and RemoteSaveAdaptor. Please refer to the below documentation for more information,

URL Adaptor:



RemoteSave Adaptor: https://ej2.syncfusion.com/aspnetmvc/documentation/grid/data-binding/remote-data#remote-save-adaptor

Rajapandiyan S

Marked as answer

KA kalum January 3, 2023 03:28 AM UTC

Hi Rajapandiyan,

Thank you very much for the information and advice and will try that way.



SG Suganya Gopinath Syncfusion Team January 4, 2023 01:36 PM UTC


If this post is helpful, please consider Accepting it as the solution so that other members can locate it more quickly.

Live Chat Icon For mobile
Up arrow icon