سؤال

في Salesforce ، إذا كنت أربط تاريخًا في صفحة Visualforce ، فكيف يمكنني تطبيق التنسيق المخصص لها؟

مثال:

<apex:page standardController="Contact">
  <apex:pageBlock title="Test">
      <p>{!contact.Birthdate}</p>
  </apex:pageBlock>                   
  <apex:detail relatedList="false" />
</apex:page> 

سيؤدي هذا إلى إخراج تاريخ بالتنسيق الافتراضي:

الخميس يوليو 01 09:10:23 بتوقيت جرينتش 2009

كيف أحصل عليه (على سبيل المثال) في تنسيق DD/MM/Yyyy ، مثل هذا:

01/07/2009

(نأمل أن يكون هذا سؤالًا سهلًا إلى حد ما ، ولكن لجعل مجتمع Salesforce مستمرًا هنا ، فإننا بحاجة إلى بعض الأسئلة السهلة.)

هل كانت مفيدة؟

المحلول

<apex:outputText value="{0,date,MM'/'dd'/'yyyy}">
    <apex:param value="{!contact.Birthdate}" /> 
</apex:outputText>

رابط إلى المستند الكامل: http://www.salesforce.com/us/developer/docs/pages/content/pages_compref_outputtext.htm

نصائح أخرى

يبدو أن الجواب يعتمد على السياق. لدي صفحة VF واحدة تُفصل مسبقًا لسطر الموضوع لمهمة مع قيمة NOW (). لتسجيله مع إعدادات لغة المستخدم ، قمت بتضمين أساليب في وحدة التحكم لتنسيق الحقول وحقول الوقت ، على طول هذه السطور:

  Datetime myDT = Datetime.now(); 
  String myDate = myDT.format();

لكن الآن في صفحة VF أخرى حيث أقوم فقط بعرض حقل DateTime ، أكدت أن SFDC تعاملت مع التنسيق بناءً على إعداد لغة المستخدم. كان ذلك في هذا السياق ، حيث يعد C.CampaignMembers متغيرًا من وحدة التحكم:

    <apex:column>
      <apex:pageBlockTable value="{!cm.CampaignMembers}" var="cmp" >
        <apex:column headerValue="" value="{!cmp.Campaign.Name}" />
        <apex:column headerValue="" value="{!cmp.Status}"  />
        <apex:column headerValue="" value="{!cmp.FirstRespondedDate}" />
        <apex:column headervalue="" value="{!cmp.CreatedDate}"  />
      </apex:pageBlockTable>
    </apex:column>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top