# bit-form/3.1.1/assets/bfAddOrSubtractDateTime.min.js

Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator &amp; Custom Form Builder, version 3.1.1. 2 lines.

- Page: https://pluginprobe.com/plugins/bit-form/3.1.1/code/assets/bfAddOrSubtractDateTime.min.js
- Raw: https://pluginprobe.com/plugins/bit-form/3.1.1/raw/assets/bfAddOrSubtractDateTime.min.js
- Modified: 2025-08-26T09:29:46+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/bit-form/3.1.1/code/assets/bfAddOrSubtractDateTime.min.js#L10-L20`.

```javascript
var bfAddOrSubtractDateTime=function(){"use strict";return function(t,e){const a=bfSplit(t,e),r=a[0]||"today",n=Number((a[1]||"1").trim().replace(/^['"]|['"]$/g,"")),s=(a[2]||"days").trim().replace(/^['"]|['"]$/g,""),o=a[3]||!1,d="undefined"!=typeof parseDateTime?parseDateTime(r):new Date(r),g=o?-1:1,i=new Date(d);switch(s.toLowerCase()){case"seconds":i.setSeconds(i.getSeconds()+n*g);break;case"minutes":i.setMinutes(i.getMinutes()+n*g);break;case"hours":i.setHours(i.getHours()+n*g);break;case"days":default:i.setDate(i.getDate()+n*g);break;case"weeks":i.setDate(i.getDate()+7*n*g);break;case"months":i.setMonth(i.getMonth()+n*g);break;case"years":i.setFullYear(i.getFullYear()+n*g)}return((t,e)=>{if("today"===e.toLowerCase())return e;if(e.match(/^\d{4}-\d{2}-\d{2}$/))return`${t.getFullYear()}-${(t.getMonth()+1).toString().padStart(2,"0")}-${t.getDate().toString().padStart(2,"0")}`;if(e.match(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}/))return`${t.getFullYear()}-${(t.getMonth()+1).toString().padStart(2,"0")}-${t.getDate().toString().padStart(2,"0")}T${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}`;if(e.match(/^\d{2}:\d{2}(:\d{2})?$/)){const a=t.getHours().toString().padStart(2,"0"),r=t.getMinutes().toString().padStart(2,"0"),n=t.getSeconds().toString().padStart(2,"0");return e.includes(":")?`${a}:${r}:${n}`:`${a}:${r}`}return e.match(/^\d{4}-W\d{2}$/i)?`${t.getFullYear()}-W${(t=>{const e=new Date(t);e.setHours(0,0,0,0),e.setDate(e.getDate()+4-(e.getDay()||7));const a=new Date(e.getFullYear(),0,1);return Math.ceil(((e-a)/864e5+1)/7)})(t).toString().padStart(2,"0")}`:e.match(/^\d{4}-\d{2}$/)?`${t.getFullYear()}-${(t.getMonth()+1).toString().padStart(2,"0")}`:t.toISOString()})(i,r)}}();

```
