Skip to main content
June 28, 2017
解決済み

How do I format a Custom Object Expiration Date field using Velocity Script

  • June 28, 2017
  • 2 の返信
  • 2309 ビュー

Hello Community,

I am really on a roll with these VS questions lately. So, I have been tasked with formatting a Custom Object Date field so that it appears like January 13, 2018 instead of 2018-01-13. I tried modifying the code in red below (which I used to modify an expiration date token) by inputting "certificateExpirationDate" (see screenshot below showing the custom object date field) in place of lead.expirationDate and expirationDate, but that didn't seem to work. So, not sure what I need to do next....Please help!

#set( $dateOptions = { 

  "formats" : { 

    "userin" : "yyyy-MM-dd", 

    "userout" : "MMMM d, yyyy" 

  }, 

  "timezones" : { 

    "userin" : "America/New_York", 

    "userout" : "America/New_York" 

  }, 

  "locale" : $date.getLocale() 

} ) 

#set( $expirationDatelike = $lead.expirationDate

#set( $expirationDate = $convert.parseDate( 

  $expirationDatelike, 

  $dateOptions.formats.userin, 

  $dateOptions.locale, 

  $date.getTimeZone().getTimeZone($dateOptions.timezones.userin) 

) ) 

#set( $expirationDate_formatted = $date.format( 

  $dateOptions.formats.userout, 

  $expirationDate

  $dateOptions.locale, 

  $date.getTimeZone().getTimeZone($dateOptions.timezones.userout) 

) ) 

${expirationDate_formatted} 

Thank you,

Laura

このトピックへの返信は締め切られました。
ベストアンサー SanfordWhiteman

Here, the custom object $certivicates_cList is a Java ArrayList.

$certivicates_cList[0] is an object (map) that's at the first index of the array.

If $certivicates_cList[0].certificateExpirationDate is a date-like string property of the object $certivicates_cList[0], then you have to reference that string property here (and only here):

#set( $expirationDatelike = $certivicates_cList[0].certificateExpirationDate )

Note this'll only work if the lead has at least one "Certificate" record. If they don't, there won't be an index [0], so Velocity will error out.

2 の返信

SanfordWhiteman
Level 10
June 29, 2017

Here, the custom object $certivicates_cList is a Java ArrayList.

$certivicates_cList[0] is an object (map) that's at the first index of the array.

If $certivicates_cList[0].certificateExpirationDate is a date-like string property of the object $certivicates_cList[0], then you have to reference that string property here (and only here):

#set( $expirationDatelike = $certivicates_cList[0].certificateExpirationDate )

Note this'll only work if the lead has at least one "Certificate" record. If they don't, there won't be an index [0], so Velocity will error out.

June 29, 2017

Thank you Sanford!

I've come across some people who (for some reason) don't have an Expiration Date...Is there a logic formula that I would apply to the VS (for both a token and a custom object) for those with no Expiration Date?

Best regards,

Laura