效果图:

参考第三方库:https://pub.dev/packages/date_format

在pubspec.yaml,引入最新的依赖,我这里是

在相关类引入包名:

import ‘package:date_format/date_format.dart’;

时间戳转化演示:
时间戳就是时间在服务器存储的值,他跟正常我们看得的值是不一样的

//日期转化成时间戳:
var now = new DateTime.now();
print(now.millisecondsSinceEpoch);//单位毫秒,13 位时间戳//时间戳转化成日期:
var now = new DateTime.now();
var a=now.millisecondsSinceEpoch; //时间戳
print(DateTime.fromMillisecondsSinceEpoch(a));

DatePicker.dart

import 'package:flutter/material.dart';import 'package:date_format/date_format.dart';
import 'package:flutter/material.dart' as prefix0;class DatePickerPage extends StatefulWidget {@override_DatePickerPageState createState() => _DatePickerPageState();
}class _DatePickerPageState extends State<DatePickerPage> {DateTime _nowDate = DateTime.now();var _nowTime = TimeOfDay(hour: 12,minute: 20);  //初始化的时候时间值_showDatePicker() async{   //Flutter自带的日期组件       //获取异步数据方式二:通过async异步方法获取//获取异步数据方式一:通过then获取
//    showDatePicker(
//      context:context,
//      initialDate:_nowDate,     //当前日期
//      firstDate:DateTime(1980), //起始日期
//      lastDate:DateTime(2100)   //结束日期
//    ).then((result){//      print(result);
//    });/***  await 配合 async完成异步流程*  await表示等待异步请求,请求完后就把值赋给result*  我们再打印这个result即可拿到数据*/var result = await showDatePicker(context:context,initialDate:_nowDate,     //当前日期firstDate:DateTime(1980), //起始日期lastDate:DateTime(2100),   //结束日期locale: prefix0.Locale('zh') // 非必须,如果操作系统是中文的话可以不加,如果不是的话,就要加上才能变成中文);//    print(result);setState(() {this._nowDate = result; //将选择日期后的值赋给_nowDate});}_showTimePicker() async{    //Flutter自带的时间组件var result =  await showTimePicker(context:context,initialTime: _nowTime);setState(() {this._nowTime = result;});}@overridevoid initState() {// TODO: implement initStatesuper.initState();//  var now = DateTime.now();//    print(now);       //2019-11-17 12:23:06.811117
//    print(now.millisecondsSinceEpoch);    //1573964623294
/*  print(DateTime.fromMicrosecondsSinceEpoch(1573964623294));  //1970-01-19 13:12:44.623294*/print(formatDate(DateTime.now(), [yyyy, '年', mm, '月', dd]));}@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('DatePickerDemo'),),body: Column(mainAxisAlignment: MainAxisAlignment.center,children: <Widget>[Row(mainAxisAlignment: MainAxisAlignment.center,children: <Widget>[InkWell(         //让组件可以点击child: Row(mainAxisAlignment: MainAxisAlignment.center,children: <Widget>[
//               Text('${_nowDate}'),Text('${formatDate(_nowDate, [yyyy, '年', mm, '月', dd])}'), //使用第三方库按照指定形式显示数据Icon(Icons.arrow_drop_down)],),onTap: _showDatePicker,),InkWell(         //让组件可以点击child: Row(mainAxisAlignment: MainAxisAlignment.center,children: <Widget>[
//               Text('${_nowDate}'),
//                    Text('${_nowTime}'),    //这样显示的值是:TimeOfDay(07:26)  并不是我们想要的,所以要改成下面Text('${_nowTime.format(context)}'),Icon(Icons.arrow_drop_down)],),onTap: _showTimePicker,)],)],),);}
}

这里可能会遇到关于调用后,时间还为英文的情况,针对这种情况,解决办法为:

flutter showDatePicker显示中文日期_Flutter时间控件显示中文
如果看不懂教程,我还提供了一些代码变动截图,你们照着改就行:

pubspec.yaml

main.dart

导入国际化的包 flutter_localizations
import ‘package:flutter_localizations/flutter_localizations.dart’;


DatePicker.dart

  _showDatePicker() async{   //Flutter自带的日期组件       //获取异步数据方式二:通过async异步方法获取//获取异步数据方式一:通过then获取
//    showDatePicker(
//      context:context,
//      initialDate:_nowDate,     //当前日期
//      firstDate:DateTime(1980), //起始日期
//      lastDate:DateTime(2100)   //结束日期
//    ).then((result){//      print(result);
//    });/***  await 配合 async完成异步流程*  await表示等待异步请求,请求完后就把值赋给result*  我们再打印这个result即可拿到数据*/var result = await showDatePicker(context:context,initialDate:_nowDate,     //当前日期firstDate:DateTime(1980), //起始日期lastDate:DateTime(2100),   //结束日期locale: prefix0.Locale('zh') // 非必须,如果操作系统是中文的话可以不加,如果不是的话,就要加上才能变成中文);//    print(result);setState(() {this._nowDate = result; //将选择日期后的值赋给_nowDate});}

Futter基础第18篇: 实现调用原生时间选择器、日期选择器、时间戳、Future异步相关推荐

  1. 原生js实现日期选择器插件 简单风格日期选择插件

    原生js实现日期选择插件 xs-DatePicker ** 效果图 ** ** 简介 通过原生HTML/CSS/JavaScript完成一个日期选择器. 代码如下: ** <!-- 时间:202 ...

  2. Futter基础第3篇: 实现引用远程图片、本地图片、实现圆形图片,实现圆角图片【Image.network、Image.asset、BorderRadius.circular(150)】

    文章目录 一丶 效果图 二丶 代码+注释 三丶 知识点 一丶 效果图 [1]引用远程图片 [2]引用本地图片 [3]实现圆形图片(方法一).圆角图片(受弧度影响) [4]实现圆形图片(方法二) 二丶 ...

  3. HTML5调用手机的Datepicker(日期选择器)

    HTML5 拥有多个新的表单输入类型.这些新特性提供了更好的输入控制和验证,包含了如下新的输入类型: email url number range Date pickers (date, month, ...

  4. JNA调用原生函数 基础入门

     JNA调用原生函数 本文原名<使用JNA方便地调用原生函数>发表于2009年3月的"程序员"杂志上.感谢程序员杂志的许可,使这篇文章能够成为免费的电子版,发布于网络上 ...

  5. JavaScript 基础知识 - 入门篇(二)

    11. 函数 11.1 函数的基础知识 为什么会有函数? 在写代码的时候,有一些常用的代码需要书写很多次,如果直接复制粘贴的话,会造成大量的代码冗余: 函数可以封装一段重复的javascript代码, ...

  6. vue2+vue3小白零基础教程—vue2篇,全网2021最详细教程

    vue教程 提示:Vue3系列请参考Vue2+Vue3小白零基础教程-vue3篇文章,本文为vue2篇. 1. Vue核心 1.1 Vue简介 1.1.1 Vue是什么 一套用于构建用户界面的渐进式J ...

  7. 使用JNA,让java调用原生代码

    JNA定义: JNA:java Native Access,是SUN公司开发的基于JNI的框架.JNI使得Java可以调用原生的c或者c++代码. JNA与JNI(Java Native Interf ...

  8. JavaScript 基础知识 - DOM篇(二)

    7. 节点操作 7.1 节点的属性 节点分类: 标签节点 文本节点 属性节点 注释节点 节点常用的属性: nodeType:节点的类型 nodeName:节点名称 nodeValue:节点值 常见的节 ...

  9. 中小型研发团队架构落地实践18篇,含案例、代码

    1 写在前面 中小型研发团队很多,而社区在中小型研发团队架构实践方面的探讨却很少.中小型研发团队特别是 50 至 200 人的研发团队,在早期的业务探索阶段,更多关注业务逻辑,快速迭代以验证商业模式, ...

  10. HTML,css和JavaScript的基础学习—JavaScript篇

    HTML,css和JavaScript的基础学习-JavaScript篇 JavaScript是做什么的? JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型 ...

最新文章

  1. ubuntu中文wiki
  2. GMIS 2017 大会余凯演讲:深度学习引领驾驶革命
  3. 前音悦台直播互动产品总监金鹏:直播产品需要注意这些问题
  4. Form表单中的元素 控件集
  5. 中国汽车产业数字化服务商研究报告及TOP50榜单
  6. Snabbdom(虚拟dom-6-createElm函数)
  7. java.lang.NoClassDefFoundError: org/apache/commons/collections/map/LRUMap 解决方法
  8. 软件测试--环境讲解
  9. 春节7天新增病毒54万 钓鱼欺诈成最大威胁
  10. STM32的新编译软件STM32CubeIDE
  11. 跨境电商自建独立站CMS
  12. 酷播智能缓冲服务器,酷播服务器
  13. 自己做一个小项目python_【Python】第一个微信小项目
  14. codeforces 757e Bash Plays with Functions
  15. 【C3】cpu_wtd_sysfs
  16. 微信小程序mpvue项目使用WuxWeapp前端UI组件
  17. 基于jsp+servlet的房屋出租系统
  18. sql语句查询昨天,今天,最近七天,最近三十天数据
  19. 【机器学习】贝叶斯算法详解 + 公式推导 + 垃圾邮件过滤实战 + Python代码实现
  20. 简洁易用的记账小程序——微点记账

热门文章

  1. 04,Django Form源码阅读
  2. https://leetcode-cn.com/
  3. css transition transform animation例子讲解
  4. SpringMVC对象绑定时自定义名称对应关系
  5. python 多线程,进程的理解
  6. ajax 同步和异步的区别
  7. php----显示中文乱码的问题
  8. 在php中 urlencode函数解决乱码问题
  9. 少样本文本分类 InductionNet
  10. 2020-2021年NLP有什么核心技术的更迭吗?或者有什么推动领域发展的paper吗?