我需要向REST API发送一个post
请求,其中包含Date
值。但是,REST API和MySQL接受Timestamp
。以下是我如何准备当前日期
User user = User(
name: nameTxtController.text,
email: emailTxtController.text,
phone: mobileTxtController.text,
userLanguage: userLanguage,
userRights: userRight,
lastUpdated: DateTime.now(),
dateCreated: DateTime.now()
);
如何将其转换为Timestamp
?
请执行以下操作
User user = User(
name: nameTxtController.text,
email: emailTxtController.text,
phone: mobileTxtController.text,
userLanguage: userLanguage,
userRights: userRight,
lastUpdated: DateTime.now().millisecondsSinceEpoch,
dateCreated: DateTime.now().millisecondsSinceEpoch
);
为了这个工作,你的user.lastUpdated
和user.dateCreated
应该是你的模型中的int
类型(bean
,如果你来自Java背景)类
1)在pubspec.yaml上
使用上一版本导入cloud_firestore插件
https://pub.dartlang.org/packages/cloud_firestore
dependencies:
flutter:
sdk: flutter
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^0.1.2`enter code here`
cloud_firestore: ^0.9.13 //import this, with last version
2)在你的file.dart上
import 'package:cloud_firestore/cloud_firestore.dart';
3)DateTime到TimeStamp / TimeStamp到DateTime
DateTime currentPhoneDate = DateTime.now(); //DateTime
Timestamp myTimeStamp = Timestamp.fromDate(currentPhoneDate); //To TimeStamp
DateTime myDateTime = myTimeStamp.toDate(); // TimeStamp to DateTime
print("current phone data is: $currentPhoneDate");
print("current phone data is: $myDateTime");
4)控制台
I/flutter (15177): current phone data is: 2019-04-17 11:28:26.953530
I/flutter (15177): current phone data is: 2019-04-17 11:28:26.953530
用你的代码
User user = User(
name: nameTxtController.text,
email: emailTxtController.text,
phone: mobileTxtController.text,
userLanguage: userLanguage,
userRights: userRight,
lastUpdated: myTimeStamp //here
dateCreated: myTimeStamp //here
);