Flutter将时间戳转为具体时间

      学习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); //分别是截取起止位数;

你可能感兴趣的:(Flutter)