Raul, that is great. I have used # thousands of times probably but never encountered this use
"The complex left argument a j. b copies a items followed by b fills. The fit conjunction provides specified fills, as in #!.f ." http://www.jsoftware.com/help/dictionary/d400.htm I'm glad I asked because something simple like this uncovers new ways of thinking Jimmy - Same goes for yours too. Raul's approach is much speedier however yours highlighted an interesting technique for the future. Thank you both On Wed, Apr 4, 2018 at 6:18 PM, Jimmy Gauvin <[email protected]> wrote: > This might be fast : > > '-' 4 7 } 1 1 1 1 2 1 2 1 ": 10#.inv 20170209 > > 2017-02-09 > > > > > On Wed, Apr 4, 2018 at 6:04 PM, Raul Miller <[email protected]> wrote: > >> Here's one approach: >> >> DXP=: (8#1) j. (i.8)e.3 5 >> daten28601=: DXP #!.'-'"1 ":@,. >> >> 6!:2 'daten28601 (5e6 1 $ 20180102)' >> 0.659381 >> >> -- >> Raul >> >> On Wed, Apr 4, 2018 at 5:56 PM, Joe Bogner <[email protected]> wrote: >> > I'm curious if there is a speedier way to convert a date stored as a >> > number like 20180101 or 20170228 to the ISO 8601 equivalent: >> > >> > This does OK >> > >> > datenumToISO =: 3 : 0 >> > (4&{. , '-' , 2&{.@(4&}.) , '-' , _2&{.)"1 ": y >> > ) >> > >> > datenumToISO 20180101 >> > 2018-01-01 >> > datenumToISO 20180228 >> > 2018-02-28 >> > >> > >> > But is slower than I'd like ... no big deal but just curious >> > >> > 6!:2 'datenumToISO (5e6 1 $ 20180102)' >> > 4.29083 >> > >> > sprintf is slow >> > >> > dateNumToISO2 =: 3 : 0 >> > '%d-%02d-%02d' sprintf ,:(0 100 100 #: y) >> > ) >> > >> > (6!:2) 'dateNumToISO2 (1e5 # 20180102)' >> > 2.34002 >> > (6!:2) 'dateNumToISO2 (1e6 # 20180102)' >> > 25.4977 >> > >> > >> > 8!:2 shows promise but I can't figure out the formatting string to add >> > a leading zero if it's possible >> > >> > (6!:2) '8!:2 (0 100 100 #: (5e6 # 20180102))' >> > 1.4853 >> > >> > 'q<->,q<->,d' 8!:2 (0 100 100 #: (1 # 20180102)) >> > 2018-1-2 >> > ---------------------------------------------------------------------- >> > For information about J forums see http://www.jsoftware.com/forums.htm >> ---------------------------------------------------------------------- >> For information about J forums see http://www.jsoftware.com/forums.htm >> > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
