KBEC-00224 - Date Manipulation in Perl

Article ID:360032829512
1 minute readKnowledge base
On this page


CloudBees CD (CloudBees Flow) server accepts dates in ISO8601 form ("Zulu" times), that is, yyyy-MM-ddTHH:mm:ssZ, for example: 2010-02-26T23:30:31.899Z.

How do I convert it to a different format and/or timezone?


Use a language of your choice (ec-perl, javascript, shell etc.) to convert this string into the format you want.
Use language-specific tools to convert the date from one timezone to another.

Examples - using ec-perl

  1. Changing the format of the job property value /myJob/createTime to yyyyMMddhhmmss

use strict;

use ElectricCommander;

my $ec = ElectricCommander();

my $createtime = $ec->getProperty("/myjob/createTime")->findvalue("//value");

$createtime =~ s/T|:|-|\..+$//g;

print $createtime;
  1. Converting /myjob/createTime to Eastern Time.

use strict;

use Date::Manip;

use ElectricCommander;

my $ec = new ElectricCommander();

my $createtime = $ec->getProperty("/myjob/createTime")->findvalue("//value");

$createtime =~ s/\.\d+Z$//;

$createtime =~ s/T/ /;

print "createtime = $createtime\n";


$createtime = ParseDate($createtime);

my $formattedtime = UnixDate($createtime, "%Y%m%d%H%M%S");

print "formattedtime = $formattedtime\n";

$createtime = Date_ConvTZ($createtime, 'GMT', 'EST');

$formattedtime = UnixDate($createtime, "%Y%m%d%H%M%S");

print "formattedtime = $formattedtime\n";

Please note…​

  • There is more than one way to accomplish this using Perl.
    The above examples are only intended to give you an idea; they are not a required way of accomplishing the change.

  • You are not limited to only using the Perl modules that come with CloudBees CD (CloudBees Flow).
    If they do not cover your scenario, you can