有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

给定字符串的java日期格式

以下日期的格式是什么

21-MAY-11 12.00.00.000000000 AM

我在下面试过,但没有成功。有线索吗

DateTimeFormatter formatter_1 = DateTimeFormatter.ofPattern("dd-MMM-yy hh.HH.mm.SSSSSSSSS a");

共 (3) 个答案

  1. # 1 楼答案

    评论中的安迪·特纳是对的

    DateTimeFormatter fmt = DateTimeFormatter.ofPattern("dd-MM-yy hh:mm:ss.SSSSSSSSS a", Locale.ROOT);
    LocalDateTime localDateTime = LocalDateTime.now();
    String format = fmt.format(localDateTime);
    System.out.println(format);
    
  2. # 2 楼答案

    使用这个设置日期时间的格式

    DateFormat('dd-MMM-yy hh.HH.mm.SSSSSSSSS a').format(DateTime.now());
    
  3. # 3 楼答案

    没有可以用于它的内置模式。可以用Locale.ENGLISH构建一个不区分大小写的DateTimeFormatter来解析这个字符串

    演示:

    import java.time.LocalDateTime;
    import java.time.format.DateTimeFormatter;
    import java.time.format.DateTimeFormatterBuilder;
    import java.util.Locale;
    
    public class Main {
        public static void main(String[] args) {
            String strDateTime = "21-MAY-11 12.00.00.000000000 AM";
            
            DateTimeFormatter dtf = new DateTimeFormatterBuilder()
                    .parseCaseInsensitive()
                    .appendPattern("uu-MMM-dd hh.mm.ss.SSSSSSSSS a")
                    .toFormatter(Locale.ENGLISH);
            
            LocalDateTime ldt = LocalDateTime.parse(strDateTime, dtf);
            System.out.println(ldt);
        }
    }
    

    输出:

    2021-05-11T00:00
    

    在这里,您可以使用yy而不是uu但是I prefer{}到y

    ONLINE DEMO

    了解更多关于java.time的信息,以及来自Trail: Date Timemodern Date-Time API*


    *无论出于何种原因,如果您必须坚持使用Java 6或Java 7,您可以使用ThreeTen-Backport来支持大部分Java。Java 6&;的时间功能;7.如果您正在为Android项目工作,并且您的Android API级别仍然不符合Java-8,请选中Java 8+ APIs available through desugaringHow to use ThreeTenABP in Android Project