当前位置: 首页 > 知识库问答 >
问题:

在android中,日期不是以日期格式打印的

郤仰岳
2023-03-14

如果我想打印这些日期,我应该怎么做? 因为使用System.out.println(startDate); System.out.println(结束日期); 给出以下输出:1595203200000 1596153600000,我想要日期作为输出

公共类MainActivity扩展AppCompatActivity{

private Button bt1;
private TextView tv1;
private Long startDate;
private Long endDate;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    
    bt1 = findViewById(R.id.bt1);
    tv1 = findViewById(R.id.tv1);

    MaterialDatePicker.Builder<Pair<Long, Long>> builder = MaterialDatePicker.Builder.dateRangePicker();
    final MaterialDatePicker<Pair<Long,Long>> materialDatePicker = builder.build();

    bt1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            materialDatePicker.show(getSupportFragmentManager(),"date picker");
        }
    });

    /*materialDatePicker.addOnPositiveButtonClickListener(new MaterialPickerOnPositiveButtonClickListener() {
        @Override
        public void onPositiveButtonClick(Object selection) {
           tv1.setText(materialDatePicker.getHeaderText());
        }
    });*/
    materialDatePicker.addOnPositiveButtonClickListener(new MaterialPickerOnPositiveButtonClickListener<Pair<Long, Long>>() {
        @RequiresApi(api = Build.VERSION_CODES.N)
        @Override
        public void onPositiveButtonClick(Pair<Long, Long> selection) {
           tv1.setText(materialDatePicker.getHeaderText());
            startDate = selection.first;
            endDate = selection.second;
            System.out.println("this is start date: " + startDate);
            System.out.println("this is end date " + endDate);

        }
    });

}

}

当前输出为:i/system.out:这是开始日期:1594598400000这是结束日期1596672000000

共有1个答案

姬雪松
2023-03-14

您只需使用DateFormatter类。 有默认格式。 您只需实例化它,然后对它调用format,传递date

下面是文档:DateFormatter。

由于甲骨文和谷歌之间爆发了关于Java授权条款的战争,安卓系统中的日期是一个特别的拖累。 所以Java有一段时间没有更新,包括《Java 8》中包含了日期和时间的完全重写。 你现在可以在Android中使用Java 8的日期/时间,但是如果你这样做,你就会失去与旧操作系统的兼容性。

 类似资料:
  • 问题内容: 这是我的代码: 打印:这正是我想要的。 但是,我有一个列表要附加到该列表上,然后突然所有内容都变得“异常”。这是代码: 打印以下内容: 我怎样才能得到一个简单的? 问题答案: 为什么:日期是对象 在Python中,日期是对象。因此,当你操作它们时,你将操作对象,而不是字符串,时间戳或其他任何对象。 Python中的任何对象都有两个字符串表示形式: 可以使用函数获取“打印”所使用的常规表

  • 问题内容: 我想以特定格式用Java打印出datetime。我有此C#代码以这种格式打印出日期时间。 结果是-1/18/2010 12:00:00 AM 现在,我想编写一个以相同格式打印出日期时间的Java代码。我使用了joda.time库。这是我到目前为止尝试过的。 如何在Java的DateTime中传递年,月和日作为构造函数,并以上述格式打印出来。 问题答案: 方法1:使用java.time.

  • 问题内容: 我正在寻找一种简单的方法来将PHP日期格式(即Ymd H:i:s)转换为javascript日期格式(分别为YYYY-mm-dd HH:mm:ss)。 我不想转换日期 (这个问题已经有答案),我正在寻找工具/函数来 转换格式代码(我尚不知道,因为它是由用户在应用程序中定义的) 。 用户可以通过PHP date()即“ Y / m / d H:i”或“ YdmHi”定义的不同方式来定义它

  • 问题内容: 我正在学习Go,并且正在尝试对日期时间进行JSON解组。 我有一个用C语言编写的程序生成的JSON,我正在输出我认为有效的ISO8601 / RFC3339时区偏移量。我正在使用以下格式字符串: (请注意,本机不支持,我有一个包装器将其替换为纳秒级)。 然后,将产生以下结果: 但是在Go中取消编组此功能将无效:https : //play.golang.org/p/vzOXbzAwdW

  • 我有两个字符串格式的日期:说,格式为。比较日期1和日期2的相等性的最佳方法是什么?我不关心时间,只关心日、年、月。我应该将它们转换为即时并进行比较吗?

  • 我想在获得,和。 这是一条漫长的道路: 我的问题:如何将最后一部分压缩到函数? 我想归档的内容: p/s:的含义与标准数字格式字符串相同。像C#语法:

  • 我正在寻找将PHP日期格式(即Y-m-d H:I:s)转换为javascript日期格式(分别为YYYY-mm-dd HH:mm:ss)的简单方法。 我不想转换日期(这个问题已经有答案),我正在寻找工具/函数来转换格式代码(我还不知道,因为它是由应用程序中的用户定义的)。 用户可以用PHP date()定义的不同方式来定义它,即“Y/m/d H:i”或“Y-d-m H-i”,在javascript

  • 设定年月日的排列顺序。