如何将ZoneId转换为DateTimeZone? 我有:
Private Instant logTime; //java.time
Private ZoneId timeZoneId; //java.time
但我需要从上面获取DateTime和DateTimeZone(两个org.joda.time)。我从Instant中得到了DateTime =
Private DateTime dateTime ; //org.joda.time
private DateTimeZone dateTimeZone; //org.joda.time
LocalDateTime currentTime = new LocalDateTime(logTime);
dateTime = currentTime.toDateTime();
对于dateTimeZone,我做了:
dateTimeZone = DateTimeZone.forID(timeZoneId.getId()); // getting java.lang.NullPointerException
但是得到错误。有人能告诉我如何正确地做到这一点
这给了我错误。有人可以告诉我该如何转换它。我需要获取给定zoneId的当前时间。
答案 0 :(得分:1)
我遇到了同一时区转换问题,我可以通过调用final java.time.ZoneId timeZoneId;
final org.joda.time.DateTimeZone timeZone = org.joda.time.DateTimeZone.forTimeZone(java.util.TimeZone.getTimeZone(timeZoneId))
来完成此帖Converting from java.util.TimeZone to org.joda.DateTimeZone上的@ basil-bourque答案,从而实现转化。
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Navigation;
using System;
namespace PDFConvert
{
class Program
{
static void Main(string[] args)
{
String InputPdf = @"test.pdf";
String OutputPdf = "out.pdf";
PdfDocument pdfDoc = new PdfDocument(new PdfReader(InputPdf), new PdfWriter(OutputPdf));
PdfOutline outlines = pdfDoc.GetOutlines(false);
// first level
foreach (var outline in outlines.GetAllChildren())
{
// second level
foreach (var second in outline.GetAllChildren())
{
String title = second.GetTitle();
PdfDestination dest = second.GetDestination();
pdfDoc.AddNamedDestination(title, dest.GetPdfObject());
}
}
pdfDoc.Close();
}
}
}