Flutter时间处理插件ultimate_milliseconds的使用

发布于 1周前 作者 eggper 来自 Flutter

Flutter时间处理插件ultimate_milliseconds的使用

Easily convert various time formats to milliseconds. 这是一个用于操作毫秒的必备库。

特性

  • 如果传递一个数字给ms,则返回带单位的字符串。
  • 如果传递一个包含数字的字符串,则返回该数字(例如:对于'100'返回100)。
  • 如果传递一个带有数字和有效单位的字符串,则返回等效的毫秒数。

使用方法

只需调用ms函数并传入参数。如果传入两个参数,则第二个参数表示如何显示结果:

  • 如果将true作为第二个参数传递,则表示以长格式值显示。

示例代码

import 'package:ultimate_milliseconds/ultimate_milliseconds.dart';

void main() {
  // 转换为毫秒
  print(ms('2 days')); // 输出: 172800000
  print(ms('1d')); // 输出: 86400000
  print(ms('10h')); // 输出: 36000000
  print(ms('2.5 hrs')); // 输出: 9000000
  print(ms('2h')); // 输出: 7200000
  print(ms('1m')); // 输出: 60000
  print(ms('5s')); // 输出: 5000
  print(ms('1y')); // 输出: 31557600000
  print(ms('100')); // 输出: 100
  print(ms('-3 days')); // 输出: -259200000
  print(ms('-1h')); // 输出: -3600000
  print(ms('-200')); // 输出: -200

  // 从毫秒转换
  print(ms(60000)); // 输出: "1m"
  print(ms(2 * 60000)); // 输出: "2m"
  print(ms(-3 * 60000)); // 输出: "-3m"
  print(ms(ms('10 hours'))); // 输出: "10h"

  // 时间格式以书面形式显示
  print(ms(60000, true)); // 输出: "1 minute"
  print(ms(2 * 60000, true)); // 输出: "2 minutes"
  print(ms(-3 * 60000, true)); // 输出: "-3 minutes"
  print(ms(ms('10 hours'), true)); // 输出: "10 hours"
}

额外信息

示例代码完整示例

以下是完整的示例代码,您可以直接复制并在Flutter项目中运行:

import 'package:flutter/material.dart';
import 'package:ultimate_milliseconds/ultimate_milliseconds.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Ultimate Milliseconds Example'),
        ),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              Text('Convert to Milliseconds:'),
              Text('${ms('2 days')}'), // 输出: 172800000
              Text('${ms('1d')}'), // 输出: 86400000
              Text('${ms('10h')}'), // 输出: 36000000
              Text('${ms('2.5 hrs')}'), // 输出: 9000000
              Text('${ms('2h')}'), // 输出: 7200000
              Text('${ms('1m')}'), // 输出: 60000
              Text('${ms('5s')}'), // 输出: 5000
              Text('${ms('1y')}'), // 输出: 31557600000
              Text('${ms('100')}'), // 输出: 100
              Text('${ms('-3 days')}'), // 输出: -259200000
              Text('${ms('-1h')}'), // 输出: -3600000
              Text('${ms('-200')}'), // 输出: -200

              SizedBox(height: 20),

              Text('Convert from Milliseconds:'),
              Text('${ms(60000)}'), // 输出: "1m"
              Text('${ms(2 * 60000)}'), // 输出: "2m"
              Text('${ms(-3 * 60000)}'), // 输出: "-3m"
              Text('${ms(ms('10 hours'))}'), // 输出: "10h"

              SizedBox(height: 20),

              Text('Time Format Written-Out:'),
              Text('${ms(60000, true)}'), // 输出: "1 minute"
              Text('${ms(2 * 60000, true)}'), // 输出: "2 minutes"
              Text('${ms(-3 * 60000, true)}'), // 输出: "-3 minutes"
              Text('${ms(ms('10 hours'), true)}'), // 输出: "10 hours"
            ],
          ),
        ),
      ),
    );
  }
}

此示例展示了如何在Flutter应用中使用ultimate_milliseconds插件进行时间格式转换。您可以在pubspec.yaml文件中添加依赖项来使用此插件:

dependencies:
  ultimate_milliseconds: ^0.0.1

更多关于Flutter时间处理插件ultimate_milliseconds的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter时间处理插件ultimate_milliseconds的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


ultimate_milliseconds 是一个用于处理时间的 Flutter 插件,它提供了简单易用的方法来处理毫秒级别的时间戳。通过这个插件,你可以轻松地将时间戳转换为可读的日期时间格式,或者进行时间戳的加减操作。

安装插件

首先,你需要在 pubspec.yaml 文件中添加 ultimate_milliseconds 插件的依赖:

dependencies:
  flutter:
    sdk: flutter
  ultimate_milliseconds: ^1.0.0  # 请使用最新版本

然后运行 flutter pub get 来安装插件。

使用插件

1. 导入插件

import 'package:ultimate_milliseconds/ultimate_milliseconds.dart';

2. 获取当前时间戳

int currentTimestamp = UltimateMilliseconds.now();
print('当前时间戳: $currentTimestamp');

3. 将时间戳转换为日期时间

int timestamp = 1633072800000; // 示例时间戳
DateTime dateTime = UltimateMilliseconds.toDateTime(timestamp);
print('转换后的日期时间: $dateTime');

4. 将日期时间转换为时间戳

DateTime dateTime = DateTime.now();
int timestamp = UltimateMilliseconds.fromDateTime(dateTime);
print('转换后的时间戳: $timestamp');

5. 时间戳的加减操作

int timestamp = 1633072800000; // 示例时间戳
int newTimestamp = UltimateMilliseconds.add(timestamp, 1000 * 60 * 60); // 加1小时
print('加1小时后的时间戳: $newTimestamp');

newTimestamp = UltimateMilliseconds.subtract(timestamp, 1000 * 60 * 30); // 减30分钟
print('减30分钟后的时间戳: $newTimestamp');

6. 格式化时间戳

int timestamp = 1633072800000; // 示例时间戳
String formattedDate = UltimateMilliseconds.format(timestamp, 'yyyy-MM-dd HH:mm:ss');
print('格式化后的日期时间: $formattedDate');

示例代码

以下是一个完整的示例,展示了如何使用 ultimate_milliseconds 插件:

import 'package:flutter/material.dart';
import 'package:ultimate_milliseconds/ultimate_milliseconds.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Ultimate Milliseconds Example'),
        ),
        body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              ElevatedButton(
                onPressed: () {
                  int currentTimestamp = UltimateMilliseconds.now();
                  print('当前时间戳: $currentTimestamp');

                  DateTime dateTime = UltimateMilliseconds.toDateTime(currentTimestamp);
                  print('转换后的日期时间: $dateTime');

                  int newTimestamp = UltimateMilliseconds.add(currentTimestamp, 1000 * 60 * 60);
                  print('加1小时后的时间戳: $newTimestamp');

                  String formattedDate = UltimateMilliseconds.format(currentTimestamp, 'yyyy-MM-dd HH:mm:ss');
                  print('格式化后的日期时间: $formattedDate');
                },
                child: Text('Run Example'),
              ),
            ],
          ),
        ),
      ),
    );
  }
}
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!