学习Flutter一段时间了,最近根据公司安排做一款App,其中有一个功能是展示后台传过来的时间,一般是后台会传具体时间,然后前端直接展示就好了,但是这次是后台传的时间戳,时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总毫秒数,也就是说前端想要展示时间,需要具体算出来,明确任务,开干。
1,正确的时间戳为13位,但是有时候后台会传10位,是因为我们一般不考虑后边三位的毫秒数,但是计算需要,如果后台传10位的话,就需要在添加三位,如果后台传13位,就不需要操作;
String onTime;//后台传过来的时间戳字符串
String time = onTime + “000”;//后台如果传的是13位,不需要此操作;
DateTime createTime = DateTime.fromMillisecondsSinceEpoch(int.parse(time));
//该操作调用库转为12时制时间;2020-03-09 12:55:50.000
time = createTime.toLocal().toString().substring(0,19);
//该操作转为字符串型,并截取我们日常显示的形式; 2020-03-09 12:55:50
time 就是我们想要的展示时间;
补充一个知识点:flutter截取字符串
String ziFu = "qweqweqweqwe";
String jiQu = ziFu.substring(0,19); //分别是截取起止位数;