forked from ThepExcel/PowerQueryCustomFX
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathThepDatefromText.pq
29 lines (29 loc) · 992 Bytes
/
ThepDatefromText.pq
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
(DateText as text,DateFormat as text,optional offsetYear as number)as date=>
let
// MCode created by ThepExcel.com
offsetYearNew=if offsetYear is null then 0 else offsetYear,
DateText2=Text.Select(Text.From(DateText),{"0".."9"}) ,
YearNum=
if DateFormat="yyyymmdd" then
Number.From(Text.Start(DateText2,4))+offsetYearNew
else
Number.From(Text.End(DateText2,4))+offsetYearNew,
MonthNum=
if DateFormat="yyyymmdd" then
Number.From(Text.Middle(DateText2,4,2))
else if DateFormat="ddmmyyyy" then
Number.From(Text.Middle(DateText2,2,2))
else //mmddyyyy
Number.From(Text.Start(DateText2,2))
,
DayNum=
if DateFormat="yyyymmdd" then
Number.From(Text.End(DateText2,2))
else if DateFormat="ddmmyyyy" then
Number.From(Text.Start(DateText2,2))
else //mmddyyyy
Number.From(Text.Middle(DateText2,2,2))
,
DateResult=#date(YearNum,MonthNum,DayNum)
in
DateResult