Flutter中的日期、格式化日期、日期选择器组件
Flutter中的日期和时间戳
//獲取當前日期
DateTime _nowDate = DateTime.now();
print(_nowDate);//2019-10-29 10:57:20.384872
print(_nowDate.millisecondsSinceEpoch);//時間戳,1572317840384
print(DateTime.fromMicrosecondsSinceEpoch(1572317840384));//時間戳轉換日期,1970-01-19 12:45:17.840384
所谓时间戳,是指自格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。
有些情况下,后台可能会将所有的时间都转换成时间戳返回给我们前端,这是我们就需要将时间戳转换成时间,并将时间进行格式化。
展示一个时间,我们会有多种形式,比如1970-01-01、1970/01/01、1970年01月01日,等等,那么我们如何把同一个时间根据需要转换成不同的格式呢?接下来我就为大家介绍一个Flutter中的第三方库。
Flutter第三方組件庫
登陸pub.dev搜索date_format組件查看Installing添加依賴
pubspec.yaml
dependencies:
date_format: ^1.0.8
按ctrl+s或flutter packages get後會自動下載依賴包,注意控制台,如無異常就是下載成功
引入包
import 'package:date_format/date_format.dart';
print(formatDate(DateTime.now(), [yyyy, "-", mm, "-", dd, " ", DD, " ", HH, ":", nn, ":", ss]));
輸出
2019-10-29 Wednesday 14:27:29
调用Flutter自带的日期选择器组件和时间选择器组件
顯示日曆組件和獲取選中數據的方法一
//_代表私有,重寫私有的日曆組建
_showDatePicker(){
showDatePicker(
context:context,//上下文必須傳入
initialDate:_nowDate,//設置初始化日期
firstDate:DateTime(1900),//設置起始時間
lastDate: DateTime(2100),//設置結束時間
).then((val){//異步方法
print(val);
});
}
方法二
_showDatePicker() async{
var val = await showDatePicker(
context:context,//上下文必須傳入
initialDate:_nowDate,//設置初始化日期
firstDate:DateTime(1900),//設置起始時間
lastDate: DateTime(2100),//設置結束時間
);
setState(() {
//將獲得時間傳給變量
this._nowDate =val;
});
}
使用變量替換文本
Container(
margin: EdgeInsets.all(5),
width: 350,
height: 120,
decoration: new BoxDecoration(
color: Colors.black12,
borderRadius:BorderRadius.circular(10.0),//邊框
),
child: GestureDetector(//手勢事件
child: Text('${formatDate(_nowDate, [yyyy, "-", mm, "-", dd])}'),//替換文本
onTap: (){
_showDatePicker();//調用重寫的組件
},
),
),
時間
//自帶組件
showTimePicker(
context: context,
initialTime: new TimeOfDay.now(),
).then((val) {
print(val);
}).catchError((err) {
print(err);
});
//獲得當前時間
var _nowTime = TimeOfDay.now(); _showTimePicker() async{
var val = await showTimePicker(
context: context,//上下文
initialTime: _nowTime//當前時間,設置固定時間TimeOfDay(hour: 12,minute: 10)
);
setState(() {
this._nowTime = val;
});
}
參考:https://cloud.tencent.com/developer/article/1495839
Flutter中的日期、格式化日期、日期选择器组件的更多相关文章
- C# 日期格式化以及日期常用方法
一.日期格式化 1.ToString() d 月中的某一天.一位数的日期没有前导零. dd 月中的某一天.一位数的日期有一个前导零. ddd 周中某天的缩写名称,在 AbbreviatedDayNam ...
- Mysql 日期格式化 复杂日期区间查询
前言 最近在做项目涉及到Mysql的复杂日期查询,日期查询其实在数据库中查询其实还是用的挺多的,比如查询开始日期到结束日期的区间信息,查询日期小于有效日期的信息,查询当天的日期,明天的日期,做比较等. ...
- js 日期格式化及日期增减
//Demo:new Date().format("yyyy-MM-dd hh:mm:ss.SSS") Date.prototype.format = function (form ...
- Flutter中的日期插件date_format 中文 国际化 及flutter_cupertino_date_picker
今天我们来聊聊Flutter中的日期和日期选择器. Flutter中的日期和时间戳 //日期时间戳转换 var _nowTime = DateTime.now();//获取当前时间 print(_no ...
- Sql Server 中一个非常强大的日期格式化函数
Sql Server 中一个非常强大的日期格式化函数Select CONVERT(varchar(100), GETDATE(), 0)-- 05 16 2006 10:57AMSelect CONV ...
- SQL Server中的日期格式化
SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm 例如: select getdate() 2004-09-12 11:06:08 ...
- JSON中的日期格式化
Json字符串中的日期格式化函数 ConvertJsonDate: function (jd) { var d = new Date(parseInt(jd.replace("/Date(& ...
- python中时间日期格式化符号
python中时间日期格式化符号: import time print(time.strftime('%Y%H%M%S', time.localtime())) 运行结果: 2016092308 %y ...
- MS SQL Server中的CONVERT日期格式化大全
CONVERT 将某种数据类型的表达式显式转换为另一种数据类型.由于某些需求经常用到取日期格式的不同. 现以下可在SQL Server中将日期格式化. SQL Server 支持使用科威特算法的阿拉伯 ...
随机推荐
- field.getModifiers() 返回值
field.getModifiers() 返回值 public static final 的值是 25 private 的值是2 测试如下 Class clazz=MyModel.class; F ...
- php面向对象编程(oop)基础知识示例解释
面向对象并不是一种技术,而是一种思想,是一种解决问题的最基本的思维方式!如何理解使用?OOP:面向对象编程 (直接代码说明) 1.面向对象的基本概念 示例demo: <?php header(& ...
- django缓存优化(二)
一.缓存目的: 1.减小过载 2.避免重复计算 3.提高系统性能 二.如何进行缓存 三.缓存类型 四.缓存粒度分类 五.缓存的设置与使用 示例一: CACHES = { 'default': { 'B ...
- 相同name,取最小的id的值,mysql根据相同字段 更新其它字段
id name info1 a 1232 a 2353 a 1244 b 125 b 987相同name,取最小的id的值id name info1 a 1232 a 1233 a 1234 b 12 ...
- php.ini 配置项详解
本文主要对php.ini文件进行详细的解释 engine = On ——> 在apache下启用php语言引擎 short_open_tag = Off ——> 是否开启段标签 若php ...
- Nginx 在各种语言框架下的配置 - 以 codeigniter 为例
对于各种语言常用的框架,Nginx 在官方的 Wiki 页面的 入门 部分提供了示例配置文件.具体可以参考这个页面的 Pre-canned Configurations 部分,这里列出了各种框架. 直 ...
- Vue Cli 3:创建项目
一 简介 Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统,有几个独立的部分. 1 CLI (@vue/cli) 是一个全局安装的 npm 包,提供了终端里的 vue 命令.(vue ...
- Java单链表
一.概述 二.主方法 //创建头结点 private HeroNode head = new HeroNode(-1,null,null); //计数器,用于id的自增 private static ...
- 字符串类——KMP算法的应用
1,字符串类中的新功能(本文代码已集成到字符串类——字符串类的创建(上)中,这里讲述函数实现原理): 2,子串查找(KMP 算法直接运用): 1,int indexOf(const char* s) ...
- opencv2——图像上的算术运算4
1.图像算术运算 参数含义: src1:第一张图像 src2:第二张图像 dst:destination,目标图像,需要提前分配空间,可省略 mask:掩膜 scale:缩放比,常量 dtype:数据 ...