flutter 年月日_Flutter 日期时间转换为字符串

/* 时间戳转字符串

* timestamp 时间戳

* formart :"y-m":年和月之间的符号,

* "m-d":月和日之间的符号

* "h-m":时和分之间的符号,

* "m-s":分和秒之间的符号;

* "m-a":是否显示上午和下午

*/

static String dateAndTimeToString(var timestamp, {Map formart}) {

if (timestamp == null || timestamp == "") {

return "";

}

String targetString = "";

final date = new DateTime.fromMicrosecondsSinceEpoch(timestamp * 1000);

// final String tmp = date.toString();

String year = date.year.toString();

String month = date.month.toString();

if(date.month<=9){

month = "0" + month;

}

String day = date.day.toString();

if(date.day<=9){

day = "0" + day;

}

String hour = date.hour.toString();

if(date.hour<=9){

hour = "0" + hour;

}

String minute = date.minute.toString();

if(date.minute<=9){

minute = "0" + minute;

}

String second = date.second.toString();

if(date.second<=9){

second = "0" + second;

}

// String millisecond = date.millisecond.toString();

String morningOrafternoon = "上午";

if(date.hour >= 12){

morningOrafternoon = "下午";

}

if(formart["y-m"] != null && formart["m-d"] != null){

targetString = year + formart["y-m"] + month + formart["m-d"] + day;

}else if(formart["y-m"] == null && formart["m-d"] != null){

targetString = month + formart["m-d"] + day;

}else if(formart["y-m"] != null && formart["m-d"] == null){

targetString = year + formart["y-m"] + month;

}

targetString += " ";

if(formart["m-a"] != null){

targetString += morningOrafternoon + " ";

}

if(formart["h-m"] != null && formart["m-s"] != null){

targetString += hour + formart["h-m"] + minute + formart["m-s"] + second;

}else if(formart["h-m"] == null && formart["m-s"] != null){

targetString += minute + formart["m-s"] + second;

}else if(formart["h-m"] != null && formart["m-s"] == null){

targetString += hour + formart["h-m"] + minute;

}

return targetString;

}

测试:

log(dateAndTimeToString(1594447650000,formart: {"y-m":"/","m-d":"/"}));

log(dateAndTimeToString(1594447650000,formart: {"y-m":"年","m-d":"月"}));

log(dateAndTimeToString(1594447650000,formart: {"y-m":"*","m-d":"*"}));

log(dateAndTimeToString(1594447650000,formart: {"y-m":"-","m-d":"-"}));

log(dateAndTimeToString(1594447650000,formart: {"y-m":"¥","m-d":"¥"}));

log(dateAndTimeToString(1594447650000,formart: {"y-m":"-","m-d":"-","h-m":":"}));

log(dateAndTimeToString(1594447650000,formart: {"y-m":"/","m-d":"/","h-m":":","m-s":":"}));

log(dateAndTimeToString(1594447650000,formart: {"y-m":"/","m-d":"/","m-a":"上、下午","h-m":":","m-s":":"}));

log(dateAndTimeToString(1594447650000,formart: {"m-d":"/","h-m":":"}));

log(dateAndTimeToString(1594447650000,formart: {"m-d":"/","h-m":":","m-s":":"}));

结果:

flutter: 2020/07/11

flutter: 2020年07月11

flutter: 2020*07*11

flutter: 2020-07-11

flutter: 2020¥07¥11

flutter: 2020-07-11 14:07

flutter: 2020/07/11 14:07:30

flutter: 2020/07/11 下午 14:07:30

flutter: 07/11 14:07

flutter: 07/11 14:07:30

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值