使用 flutter 将数据表中的纪元转换为日期时间?

问题描述 投票:0回答:1

I need output like this! 如何从 API 转换传入的 epoch 值并在 flutter 中加载到数据表?

将纪元转换为日期时间。

 class oHolidays extends StatefulWidget {
  const Holidays({Key? key}) : super(key: key);

  @override
  State<Holidays> createState() => _HolidaysState();
}

class _HolidaysState extends State<Holidays> {

  late SharedPreferences prefs;
  List<HolidayModel> HolidayData = [];

  @override
  void initState() {
    _initController();
    super.initState();
  }
  void _initController()async {
    prefs = await SharedPreferences.getInstance();
    HolidayResponseModel dd = holidayResponseModelFromJson(prefs.getString("holidays")!);
    dd.data.forEach((e){
      if(e.type == Type.ON_SHORE){
        setState(() {
          onShoreData.add(e);
        });
      }
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: SingleChildScrollView(
        scrollDirection: Axis.vertical,
        child: SingleChildScrollView(
          scrollDirection: Axis.horizontal,
          child: DataTable(columns: const [
            DataColumn(
              label: Text('HOLIDAY'),
            ),
            DataColumn(
              label: Text('MONTH'),
            ),
            DataColumn(
              label: Text('DATE'),
            ),
            DataColumn(
              label: Text('DAY'),
            ),
          ], rows: List.generate(onShoreData.length, (index) => DataRow(cells: [
            DataCell(Text(HolidayData [index].reason)),
            DataCell(Text(HolidayData [index].date.toString())),
            DataCell(Text(HolidayData [index].date.toString())),
            DataCell(Text(HolidayData [index].date.toString())),
          ]))),
        ),
      ),
    );
  }
}

这是我的代码,它从那个日期字段中的 API 获取数据,想要在 flutter 中将纪元转换为日期时间格式。

任何人都可以帮助我实现这一目标!

flutter dart timestamp epoch datetime-conversion
1个回答
0
投票

不确定这是否正是您要的,但如果您想将纪元时间戳转换为 DateTime,然后格式化为不同的格式,您可以使用类似的东西:

  final date = DateTime.fromMillisecondsSinceEpoch(epochTimestamp);
  print("Month: ${DateFormat.MMMM().format(date)}");
  print("Day Month: ${DateFormat("dd MMM").format(date)}");

您可以使用预先存在的格式(如第二行)或提供自己的格式(如第三行)

© www.soinside.com 2019 - 2024. All rights reserved.