【问题标题】:Pick day, month and year out file.lastModified();选择日期、月份和年份 file.lastModified();
【发布时间】:2012-03-22 08:41:03
【问题描述】:

我知道如何使用file.lastModified();。 当我println 我得到(例如):2012 年 3 月 17 日星期六 09:24:33 GMT+01:00。 但是有没有可能我只得到日期、月份和年份作为数字,例如:17 03 2012

他们是否有办法做到这一点,也许是过滤器或其他函数来获取最后修改日期的数字?

【问题讨论】:

  • SimpleDateFormat 类对你很有用....
  • 您的代码中是否有新的 Date(file.lastModified()) ? lastModified 返回一个 long。

标签: java android date last-modified


【解决方案1】:

文件是 java.io.File 对象吗?

lastModified 应该以毫秒为单位返回时间。您可以使用 lastModified 返回值创建一个 Date 对象,并使用 SimpleDateFormat 格式化输出

    Date date = new Date(file.lastModified());
    System.out.println(date);

    SimpleDateFormat sdf = new SimpleDateFormat("d M y");
    System.out.println(sdf.format(date));

【讨论】:

    【解决方案2】:

    您可以使用 SimpleDateFormat 类,即

    package com.example.file;
    
    import java.io.File;
    import java.text.SimpleDateFormat;
    
    public class GetFileLastModifiedExample
    {
        public static void main(String[] args)
        {   
        File file = new File("\\somefile.txt");
    
        System.out.println("Before Format : " + file.lastModified());
    
        SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
    
        System.out.println("After Format : " + sdf.format(file.lastModified()));
        }
    }
    

    【讨论】:

    • lastModified的返回值是一个long。
    • 必须将 SimpleDateFormat sdf = new SimpleDateFormat("DD/MM/YYYY"); 更改为 SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); 之后它才能完美运行。
    【解决方案3】:

    试试这个,

    long longDate = file.lastModified();        
    Date date = new Date(longDate);
    SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
    String newDate = formatter.format(date);
    System.out.println("Formatted date " + newDate);
    

    【讨论】:

      【解决方案4】:

      根据文档

      文件.lastModifed()

      应该返回一个表示文件最后修改时间的长值,以自纪元以​​来的毫秒数为单位。你可以将 long 值与Calendar 结合使用

          Calendar rightNow = Calendar.getInstance()
          rightNow.setTimeInMillis(longValue)
      

      并使用rightNow.get(...)

      检索日、月、年

      【讨论】:

      • 或将其格式化为:System.out.format("%1$td %1$tm %1$tY", rightNow);
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多