首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SimpleDateFormat返回字符串?

SimpleDateFormat返回字符串?
EN

Stack Overflow用户
提问于 2017-11-10 23:36:21
回答 2查看 262关注 0票数 1

我有一个这样的方法:

代码语言:javascript
运行
复制
public void onClick(View v) {
  SimpleDateFormat date = new SimpleDateFormat("dd/mm/yyyy");
  Calendar cal=Calendar.getInstance();
  String currentDate =date.format(cal);
  Intent myIntent=new Intent(MainActivity.this, ChildActivity.class);
  myIntent.putExtra(TIMESTAMP,currentDate);
  startActivity(myIntent);
}

我的应用程序崩溃了:

代码语言:javascript
运行
复制
String currentDate =date.format(cal);

在那里我想获取变量的timestamp形式的当前日期。我想知道这行代码返回的值是否不是字符串?很抱歉我问了这么愚蠢的问题,但我只是个新手。感谢编辑:添加logcat以获取更多详细信息

代码语言:javascript
运行
复制
11-10 22:42:00.495 9921-9921/com.example.admin.overtimenote E/AndroidRuntime: FATAL EXCEPTION: main
                                                                          Process: com.example.admin.overtimenote, PID: 9921
                                                                          java.lang.IllegalArgumentException: Bad class: class java.util.GregorianCalendar
                                                                              at java.text.DateFormat.format(DateFormat.java:303)
                                                                              at java.text.Format.format(Format.java:93)
                                                                              at com.example.admin.overtimenote.MainActivity$2.onClick(MainActivity.java:37)
                                                                              at android.view.View.performClick(View.java:5198)
                                                                              at android.view.View$PerformClick.run(View.java:21147)
                                                                              at android.os.Handler.handleCallback(Handler.java:739)
                                                                              at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                              at android.os.Looper.loop(Looper.java:148)
                                                                              at android.app.ActivityThread.main(ActivityThread.java:5417)
                                                                              at java.lang.reflect.Method.invoke(Native Method)
                                                                              at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                                              at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

11-10 22:42:02.461 9921-9921/com.example.admin.overtimenote I/Process:发送信号。PID: 9921 SIG: 9

EN

回答 2

Stack Overflow用户

发布于 2017-11-10 23:41:35

试着把它当做..

代码语言:javascript
运行
复制
SimpleDateFormat date = new SimpleDateFormat("dd/mm/yyyy");
            Calendar cal=Calendar.getInstance();
            String currentDate =date.format(cal.getTime()); // here
            Intent myIntent=new Intent(MainActivity.this, ChildActivity.class);
            myIntent.putExtra(TIMESTAMP,currentDate);
            startActivity(myIntent);
票数 1
EN

Stack Overflow用户

发布于 2017-11-10 23:54:01

在这里,您只需要当前时间(以毫秒为单位),它会将其转换为所需格式。

代码语言:javascript
运行
复制
SimpleDateFormat date = new SimpleDateFormat("dd/MM/yyyy", Locale.getDefault());
    String currentDate = date.format(System.currentTimeMillis());
    Intent myIntent=new Intent(MainActivity.this, ChildActivity.class);
    myIntent.putExtra(TIMESTAMP,currentDate);
    startActivity(myIntent);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47226315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档