怎么把Flutter Date转换成TimeStamp?

时间:2019-04-06 08:12:51

标签: android ios datetime dart flutter

我需要发送一个post请求到REST API,其中包含一个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

3 个答案:

答案 0 :(得分:0)

只需执行以下操作

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.lastUpdateduser.dateCreated在模型中的类型应为int(如果您来自Java背景,则为bean

答案 1 :(得分:0)

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)在您的文件上。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
);

答案 2 :(得分:0)

试试这个,它对我有用

Timestamp.fromDate(DateTime.now())

此处是 Cloud Fire Store 包中的时间戳,需要将其添加到 pubspec.yaml 文件中