ボタンを押すと現在時刻を表示するアプリ
時刻の取得は、 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),
),
);
}
}