Flutter 3.9 官方自带日期库 和 第三方日期库使用

2020-03-12  本文已影响0人  贝灬小晖

1.官方自带日期库

@override

 void **initState**() {

 *// TODO: implement initState*

 super.**initState**();

 var now = new **DateTime**.**now**();

 **print**(now);

 *//*转时间戳

 var a = now.millisecondsSinceEpoch;

 **print**(a);

 **print**(**DateTime**.**fromMicrosecondsSinceEpoch**(a));

 *//*时间戳转时间

 **print**(**DateTime**.**fromMillisecondsSinceEpoch**(a));

 }

2.第三方日期库使用

https://pub.flutter-io.cn/ 去搜

3.官方日期控件使用

**showDatePicker** (日期方法) **showTimePicker**(时间方法)

locale:Locale(‘zh’)//中文展示

InkWell嵌套组件 可以对 InkWell 组件进行点击监听 以便实现方法 onTap

Flutter中 返回Future 是一个异步类型  和 promise比较相似

<1>使用 then 来获取结果 

<2> 使用 async await 

import 'package:flutter/material.dart';

import 'package:date_format/date_format.dart';

class **TimeCV** extends **StatefulWidget** {

 **TimeCV**({arg});

 @override

 **_TimeCVState** **createState**() => **_TimeCVState**();

}

class **_TimeCVState** extends **State**<**TimeCV**> {

@override

 void **initState**() {

 *// TODO: implement initState*

 super.**initState**();

 var now = new **DateTime**.**now**();

 **print**(now);

 *//*转时间戳

 var a = now.millisecondsSinceEpoch;

 **print**(a);

 **print**(**DateTime**.**fromMicrosecondsSinceEpoch**(a));

 *//*时间戳转时间

 **print**(**DateTime**.**fromMillisecondsSinceEpoch**(a));

 **print**(**formatDate**(**DateTime**.**now**(), [yyyy, '-', mm, '-', dd]));

 }

 var showTime = **DateTime**.**now**();

 void **_showDatePicker**() async{

 var result = await **showDatePicker**(

 context: context,

 initialDate: **DateTime**.**now**(),

 firstDate: **DateTime**(1950),

 lastDate: **DateTime**.**now**()

 );

 **setState**(() {

 this.showTime = result;

 });

 }

 @override

 **Widget** **build**(**BuildContext** context) {

 return **Scaffold**(

 appBar: **AppBar**(

 title: **Text**("时间使用"),

 ),

 body: 

 **Column**(

 mainAxisAlignment:**MainAxisAlignment**.center,

 children: <**Widget**>[

 **Row**(

 mainAxisAlignment:**MainAxisAlignment**.center,

 *// crossAxisAlignment: CrossAxisAlignment.center*,

 children: <**Widget**>[

 **InkWell**(

 child: **Text**("${formatDate(showTime, [yyyy, '-', mm, '-', dd])}"),

 onTap: _showDatePicker,

 )

 ],

 )

 ],

 ),

 );

 }

}

//语言库的使用

https://book.flutterchina.club/chapter13/multi_languages_support.html

flutter 中 如果有 cupertino 证明是iOS下的样式

看文档自己用第三方吧

上一篇 下一篇

猜你喜欢

热点阅读