You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Date类型变量初始值设置报错:赋值‘2023-01-04 01:05:30.0’语法错误

Date变量初始化语法错误的解决方法

核心问题:Date是时间对象类型,不能直接将字符串字面量赋值给它,必须通过解析字符串或传入时间参数的方式完成初始化。以下是几种主流语言的正确写法:

Java

  • Java 8及之前版本,使用SimpleDateFormat解析字符串:
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class DateInitExample {
        public static void main(String[] args) throws Exception {
            Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S").parse("2023-01-04 01:05:30.0");
        }
    }
    
  • Java 8+推荐使用新的日期API,再按需转换为Date:
    import java.time.LocalDateTime;
    import java.time.ZoneId;
    import java.time.format.DateTimeFormatter;
    import java.util.Date;
    
    public class DateInitExample {
        public static void main(String[] args) {
            LocalDateTime localDateTime = LocalDateTime.parse(
                "2023-01-04 01:05:30.0",
                DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.S")
            );
            Date date = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
        }
    }
    
    注意:解析方法会抛出异常,需捕获或声明抛出。

JavaScript

  • 直接传入字符串(现代浏览器/Node.js环境支持):
    const date = new Date("2023-01-04 01:05:30.0");
    
  • 兼容性更优的写法(手动传入时间参数,注意月份从0开始):
    // 2023年1月4日1时5分30秒0毫秒
    const date = new Date(2023, 0, 4, 1, 5, 30, 0);
    

C#

  • 使用ParseExact指定格式解析:
    using System;
    using System.Globalization;
    
    class Program {
        static void Main() {
            DateTime date = DateTime.ParseExact(
                "2023-01-04 01:05:30.0",
                "yyyy-MM-dd HH:mm:ss.f",
                CultureInfo.InvariantCulture
            );
        }
    }
    
  • 若格式符合默认规则,也可直接转换:
    DateTime date = Convert.ToDateTime("2023-01-04 01:05:30.0");
    

内容的提问来源于stack exchange,提问作者Niklas Werner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 04:00:46