我正在try 显示日历,以便用户通过单击预订按钮来 Select 预订日期.预订日的日期显示在按钮下方. 我正在使用DateTime类.
我有两个问题: 我只想显示预订日的日期.我不需要确切的时间和时间,我也不知道怎么做.我试过"Silt and a Range",但我做不到.
2-你知道我的代码中的toLocal()方法是怎么用的吗?(‘预订日期:${seltedtime.toLocal()}’),),这到底有没有必要?
以下是我的全部代码:
import "package:flutter/material.dart";
void main() => runApp(const MyApp());
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return const MaterialApp(
home: MyPage(),
);
}
}
class MyPage extends StatefulWidget {
const MyPage({super.key});
@override
State<MyPage> createState() => _Example();
}
class _Example extends State<MyPage> {
DateTime selectedtime = DateTime.now();
datePicker(BuildContext context) async {
final DateTime? picked = await showDatePicker(
context: context,
initialDate: selectedtime,
firstDate: DateTime(2023),
lastDate: DateTime(2025));
if (picked != null && picked != selectedtime) {
setState(() {
selectedtime = picked;
});
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('HDBOOKS'),
),
body: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Center(
child: ElevatedButton(
onPressed: () => datePicker(context),
child: const Text('reserve')),
),
const SizedBox(
height: 36,
),
Text('reservation date : ${selectedtime.toLocal()}'),
],
),
);
}
}
以下是我想要解决Split问题时的代码:
//当我使用Split时,我需要显示一系列内容,但我不知道如何在Split中使用Range. 它会引发错误!
Text(
'reservation date : ${selectedtime.toLocal()}'.split(' ')[0 : 3]),
请帮帮我谢谢!🙏