小编Chr*_*ris的帖子

如何在.NET中创建通用SQL参数?

根据Microsoft有关配置参数的文档,".NET Framework数据提供程序处理命名并以不同方式指定参数和参数占位符".

  • System.Data.SqlClient使用格式的命名参数@parametername
  • System.Data.OleDbSystem.Data.Odbc使用由问号(?)指示的位置参数标记
  • System.Data.OracleClient使用格式:parmname(或parmname)的命名参数

我正在编写方法来返回将用于参数化语句的SQL.如果我使用标准SQL,这些语句应该可以移植到各种各样的数据库中.如何创建通常有效的参数而不会从数据提供程序泄漏到SQL组件?

.net sql ado.net oracleclient

7
推荐指数
1
解决办法
1062
查看次数

如何通过DST调整将UTC字符串转换为LocalDateTime?

我从外部API收到UTC时间戳字符串,我需要将其存储为LocalDateTime。换句话说,如果时间戳在启用夏令时的时段内,则应将其调整为DST(通常是一个小时)。

我将传入的字符串解析为OffsetDateTime,然后将其转换为ZonedDateTime,然后转换为Instant。此时,DST时间已正确调整。但是,当我LocalDateTime从创建时Instant,它会丢失调整。

  @Test
  public void testDates() {
    final DateTimeFormatter OFFSET_FORMAT = DateTimeFormatter.ofPattern("uuuu-MM-dd'T'HH:mm:ss.SSSXX");
    final ZoneId zoneId = TimeZone.getDefault().toZoneId();

    final String summerTime = "2019-09-11T10:00:00.000+0000";
    final String winterTime = "2019-12-11T10:00:00.000+0000";

    OffsetDateTime odtSummer = OffsetDateTime.parse(summerTime, OFFSET_FORMAT);
    OffsetDateTime odtWinter = OffsetDateTime.parse(winterTime, OFFSET_FORMAT);

    ZonedDateTime zdtSummer = odtSummer.toLocalDateTime().atZone(zoneId);
    ZonedDateTime zdtWinter = odtWinter.toLocalDateTime().atZone(zoneId);

    Instant instSummer = zdtSummer.toInstant();
    Instant instWinter = zdtWinter.toInstant();

    System.out.println("instSummer = " + instSummer);  // instSummer = 2019-09-11T09:00:00Z
    System.out.println("instWinter = " + instWinter);  // …
Run Code Online (Sandbox Code Playgroud)

java datetime

2
推荐指数
1
解决办法
150
查看次数

标签 统计

.net ×1

ado.net ×1

datetime ×1

java ×1

oracleclient ×1

sql ×1