2013-03-21 117 views
0

在使用日期字段时,我获得了一个日期值,如/Date(1360879200000)/。所以,我已经使用一些代码来获取日期值:如何将日期转换为CRM日期格式?

var mills = parseInt(rowDate.substring(6, 19)); 
    var date = new Date(mills); 

这里rowDate="/Date(1360879200000)/",并使用此代码后,我得到了像date="Fri Feb 15 03:30:00 UTC+0530 2013"的日期值。

我已将此值添加到文本框。

现在,如果我在此字段中做了一些值更改,如何将此日期值转换为CRM支持的值。

在此先感谢。

+0

真的需要更多的信息,因为这个问题很模糊。我猜这是由parseInt函数判断的JavaScript。你有没有使用oData检索这些数据?或者你正在阅读表格上的控件吗?你是否正在浏览Xrm.page来获取这些数据?如果没有,那么为什么不呢? – 2013-03-21 16:17:35

+0

是Conor,我使用oData检索了这些数据。 不,不能使用Xrm.Page,它是一个HTML Web资源。 – 2013-03-22 05:52:37

+0

@TamalKantiDey是的,你可以。请参阅编辑。 – 2013-03-23 00:24:13

回答

0

我只是砸了我的客户关系管理,我正在做以下我的联系窗体(根本不转换为整数)。我在二月出生,但希望成为一月的孩子。

var control = Xrm.Page.getAttribute("birthdate"); 
var birthDate; 
if(control){ 
    control.getValue(); 
} 
alert(birthDate); 

var fakeDate = new Date(birthDate.toString().replace("Feb", "Jan")); 
alert(fakeDate); 

编辑:

您可以通过window.parent.Xrm.Page.etc从网络资源访问Xrm.Page

+0

嗨康拉德,我正在创建一个Html网络资源,使用Odata我已经检索到'Task'实体的'ScheduledEnd'值。我想,在这种情况下,Xrm.Page不能帮助我。 – 2013-03-22 06:15:34

+0

我只使用'Xrm.Page'来访问窗体上的控件和数据。当您联系服务器(例如内部)以获取一些数据时,会使用oData。但我并不是说你错了,当然。 – 2013-03-22 08:31:14

0

我发现了一个工作岗位...我有时间从客户关系管理像/Date(1360879200000)/,从我得到的年,月,日,时,分,秒值。与这些值我使日期分开"-"。现在在编辑时,我已将日期值发送到以下函数。我开始知道CRM除了像日期合并一样:2011-07-20T16:30:00Z。它为我工作。

function dateToCRMFormat(date) { 
    ///<summary> 
    /// function to formate normal date value to CRM supported value 
    ///</summary> 

    //debugger; 

    if (date!="") { 
     var DateArray = date.split("-"); 
     var year = DateArray[0]; 

     var monthInt = parseInt(DateArray[1], 10); 
     var month = ""; 
     if (monthInt < 10) { 
      month = "0" + monthInt.toString(); 
     } else { 
      month = monthInt.toString(); 
     } 

     var dayInt = parseInt(DateArray[2], 10); 
     var day = ""; 
     if (dayInt < 10) { 
      day = "0" + dayInt.toString(); 
     } else { 
      day = dayInt.toString(); 
     } 
     if (DateArray[3].length == 1) { 
      DateArray[3] = "0" + DateArray[3]; 
     } 
     if (DateArray[4].length == 1) { 
      DateArray[4] = "0" + DateArray[4]; 
     } 
     if (DateArray[5].length == 1) { 
      DateArray[5] = "0" + DateArray[5]; 
     } 
     var fullDate = year + "-" + month + "-" + day + "T" + DateArray[3] + ":" + DateArray[4] + ":" + DateArray[5] + "Z"; 
     return fullDate; 

    } 

} 

无论如何,我仍然在等待一个真正的解决方案。

+0

为什么不使用我建议的那个?使用字符串表示法得到一个新的* Date *对象... – 2013-03-23 00:23:14

+0

嗨康拉德,它没有为我工作。当我还在寻找另一个解决方案时,我会再次尝试。 – 2013-03-26 07:42:00

+0

你介意为什么它不起作用吗?它似乎已经在我测试过的两台机器上获得了转换权...... – 2013-03-26 10:19:48

相关问题