Wednesday, August 10, 2016

Add or Subtract Hours / minutes to Datetime string in Xquery OSB / subtract Datetime string with Specific Format



Req1:  Subtract  minutes from Datetime String.





Source Datetime string = 201608100205(yyyyMMddHHmm)
number of Minutes: 15



Below function subtract 15 minutes from datetime string and converts back to Date time string
fn-bea:dateTime-to-string-with-format("yyyyMMddHHmm",(xs:dateTime((fn-bea:dateTime-from-string-with-format("yyyyMMddHHmm", data($DateTimeString))) - xdt:dayTimeDuration("PT15M"))))


Result of the String : 201608100150


To increase number of minutes, for example 30 min : Change "PT30M" from the above function.





If you have different format other than above date time string,  then you can change the format : yyyyMMddHHmm  ---> yyyy-MM-dd.HH.mm


Or


xs:dateTime("2016-08-10T02:05:00")  -  xdt:dayTimeDuration("PT15M")








Req 2:  Subtract  hour(s) from Date time String.



Datetime string = 201608100205(yyyyMMddHHmm)




fn-bea:dateTime-to-string-with-format("yyyyMMddHHmm",(xs:dateTime((fn-bea:dateTime-from-string-with-format("yyyyMMddHHmm", data($DateTimeString))) - xdt:dayTimeDuration("PT1H"))))








Req3:  Add 15 minutes to Date time String.



Datetime string = 201608100205(yyyyMMddHHmm)


fn-bea:dateTime-to-string-with-format("yyyyMMddHHmm",(xs:dateTime((fn-bea:dateTime-from-string-with-format("yyyyMMddHHmm", data($DateTimeString))) + xdt:dayTimeDuration("PT15M"))))






Req4:  Add 1 Hour to Date time String.


fn-bea:dateTime-to-string-with-format("yyyyMMddHHmm",(xs:dateTime((fn-bea:dateTime-from-string-with-format("yyyyMMddHHmm", data($DateTimeString))) + xdt:dayTimeDuration("PT1H"
))))



















1 comment: