その他

現在時刻の表示

ボタンを押すと現在時刻を表示するアプリ

時刻の取得は、 DateTime クラスを使います。

現在時刻の取得は、 DateTime.Now() となります。

 

年、月、日、時、分、秒を取得する場合は、 DateTime で取得した値を変数に代入してから year  month プロパティを指定します。

  • 日は、 day 
  • 時は、 hour 
  • 分は、 minute 
  • 秒は、 second 

 

参考コード

_now = DateTime.now();
_year = _now.year;
_month = _now.month;
_day = _now.day;
_hour = _now.hour;
_minute = _now.minute;
_second = _now.second;

 

 

 

スクリーンショット

ボタンを押すと現在時刻を表示するアプリです。

 

 

サンプルコード

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'ネコでもわかるFlutter大辞典'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);
  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  var _now, _year, _month, _day, _hour, _minute, _second;

  void _timeLog() {
    setState(() {
      _now = DateTime.now();
      _year = _now.year;
      _month = _now.month;
      _day = _now.day;
      _hour = _now.hour;
      _minute = _now.minute;
      _second = _now.second;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text(
                'ボタンを押すと現在時刻を表示します。',
              style: TextStyle(fontSize: 18),
            ),
            Text(
              _now == null
                ? '' //アプリ起動時は無表示にする。
                : '$_year年$_month月$_day日 $_hour時$_minute分$_second秒',
              style: TextStyle(
                fontSize: 25,
              ),
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _timeLog,
        child: Icon(Icons.add),
      ),
    );
  }
}