Converting Date to Julian Date Format in DataWeave 1.0 (Code Snippets)
This blog provides the DataWeave 1.0 code for converting the Date format ("yyyy-MM-dd") to Julian Date format.
Join the DZone community and get the full member experience.
Join For FreeThis blog provides the DataWeave 1.0 code for converting the Date format ("yyyy-MM-dd") to Julian Date format.
DataWeave 1.0 code:
Java
x
1
%dw 1.0
2
%output application/json
3
%function year(date) (date as :date).year
4
%function dayOfyear(date) (date as :date).dayOfYear
5
%function value(date) floor ((year(date) - (1900))/100)
6
%function JulianDate(date) (value(date) as :string {format: '#'}) ++ (year(date) as :string) [2..3] ++ dayOfyear(date)
7
---
8
{
9
JulianDate: JulianDate(<Provide some Date>)
10
}
When current date is provided:
Java
xxxxxxxxxx
1
10
1
%dw 1.0
2
%output application/json
3
%function year(date) (date as :date).year
4
%function dayOfyear(date) (date as :date).dayOfYear
5
%function value(date) floor ((year(date) - (1900))/100)
6
%function JulianDate(date) (value(date) as :string {format: '#'}) ++ (year(date) as :string) [2..3] ++ dayOfyear(date)
7
---
8
{
9
JulianDate: JulianDate(now)
10
}
Output:
Java
xxxxxxxxxx
1
1
{
2
"JulianDate": "12118"
3
}
When some manual date is provided:
Java
xxxxxxxxxx
1
10
1
%dw 1.0
2
%output application/json
3
%function year(date) (date as :date).year
4
%function dayOfyear(date) (date as :date).dayOfYear
5
%function value(date) floor ((year(date) - (1900))/100)
6
%function JulianDate(date) (value(date) as :string {format: '#'}) ++ (year(date) as :string) [2..3] ++ dayOfyear(date)
7
---
8
{
9
JulianDate: JulianDate('2021-01-18')
10
}
Output:
Java
xxxxxxxxxx
1
1
{
2
"JulianDate": "12118"
3
}
When Provided with DateTime:
Java
xxxxxxxxxx
1
10
1
%dw 1.0
2
%output application/json
3
%function year(date) (date as :date).year
4
%function dayOfyear(date) (date as :date).dayOfYear
5
%function value(date) floor ((year(date) - (1900))/100)
6
%function JulianDate(date) (value(date) as :string {format: '#'}) ++ (year(date) as :string) [2..3] ++ dayOfyear(date)
7
---
8
{
9
JulianDate: JulianDate('2021-01-18T19:27:01.89+05:30')
10
}
Output:
Java
xxxxxxxxxx
1
1
{
2
"JulianDate": "12118"
3
}
Topics:
mulesoft,
mule 3,
dataweave,
mulesoft integration,
integration
Opinions expressed by DZone contributors are their own.
Comments